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>
    
반응형