EPUB 제작의 기초/EPUBCheck 오류
빈 href는 유효한 자기 참조입니다. 이것이 의도된 것인지 확인하기 위해 유효성을 검사해야 합니다.
내.맘.대.로
2025. 10. 2. 09:16
Empty hrefs are valid self-references. These should be validated to ensure that this is the desired intent.
네, 맞습니다. 이 메시지는 EPUBCheck가 코드에서 href="" 와 같이 비어있는 링크를 발견했을 때 보여주는 경고입니다.
오류가 아니라고 하는 이유는, href=""가 문법적으로는 '현재 페이지를 다시 불러오는' 유효한 링크이기 때문입니다. 하지만 EPUBCheck는 "문법적으로는 맞지만, 사용자를 혼란스럽게 할 수 있는 의심스러운 코드이니 정말 의도한 것이 맞는지 확인해보세요"라고 알려주는 것입니다.
복도에 있는 문을 열었더니 바로 그 복도로 다시 나오는 것과 같습니다. 🚪 문 자체는 멀쩡하지만(유효함), 그 기능은 대부분의 경우 쓸모없고 혼란스럽습니다.
## 확인이 필요한 이유
비어있는 링크는 보통 다음과 같은 경우에 발생하며, 사용자 경험에 좋지 않은 영향을 줍니다.
- 실수 또는 누락: 링크 주소를 나중에 넣으려고 비워뒀다가 잊어버린 경우.
- 혼란스러운 동작: 독자가 링크를 클릭했는데 아무 데로도 이동하지 않고 페이지가 새로고침되면, 링크가 고장났다고 생각하게 됩니다.
- 접근성 문제: 화면 낭독기 사용자는 '링크'라고 안내를 받지만, 링크를 실행해도 아무런 변화가 없어 혼란을 겪을 수 있습니다.
## 해결 방법
코드에서 href=""를 찾은 뒤, 원래 의도가 무엇이었는지에 따라 아래와 같이 수정합니다.
### 경우 1: 실제 링크 주소를 넣으려다 빠뜨린 경우
가장 흔한 경우입니다. 비어있는 href 속성 안에 정확한 목적지 주소(다른 파일 경로, 웹사이트 주소 등)를 입력합니다.
- 수정 전:
-
HTML
<p>자세한 내용은 <a href="">부록</a>을 참고하세요.</p>
- 수정 후: ✅
-
HTML
<p>자세한 내용은 <a href="appendix.xhtml">부록</a>을 참고하세요.</p>
### 경우 2: 링크 기능이 필요 없는 경우
링크처럼 보이게 스타일만 주려 했거나, 스크립트 등을 위해 임시로 사용한 경우입니다. 이럴 때는 링크 태그인 <a>를 사용하는 것 자체가 잘못된 것이므로, <a> 태그를 아예 삭제하는 것이 가장 좋습니다.
- 수정 전:
-
HTML
<p>중요한 단어: <a href="">강조</a></p>
- 수정 후: ✅(그 후 CSS에서 .emphasis 클래스에 원하는 스타일을 적용합니다.)
-
HTML
<p>중요한 단어: <span class="emphasis">강조</span></p>
반응형