벌레와 팁/버그

블로그 - (X)HTML 태그 표기 문제

koc/SALM 2010. 1. 11. 20:35

한컴오피스 베타버전 버그 18 - ᄒᆞᆫ글과 블로그 8 - 주석 2 - (X)HTML 태그 표기 문제

주석에 대한 사항을 점검하면서 한 가지 더 이상한 점을 발견하였습니다. 바로 (X)HTML 태그 표기 문제였습니다.

1. 벌레의 유형

ᄒᆞᆫ글 씨! (X)HTML 태그에서 a 태그 안에는 p 태그가 오지 않습니다.

2. 개발자의 답변

2010년 1월 11일 버그 리포팅을 한 상태입니다.

3. 벌레의 발견

3.1. 우연히 발견한 버그

테스트 블로그에 올린 주석이 있는 문서의 소스를 살피다가 발견하였습니다.

그림 1 각주를 블로그에 나타나게 만든 화면

그림 2 소스 보기 화면

저 소스는 누구나 확인할 수 있습니다. 위 코드를 분석하면 다음과 같은 구조를 보여줍니다.

<hr>
<a name="name1">
        <p>Text1</p>
</a>
<br>
<a name="name2">
        <p>Text2</p>
</a>

앞서 제기한 주석의 br 태그 문제뿐만 아니라 다른 문제가 들어 있었습니다. 바로 a 태그와 p 태그의 중첩 문제였습니다. 얼핏 보면 아무 문제도 없습니다. 대부분의 웹브라우저도 a 태그 안에 p 태그가 중첩되어도 제대로 보여줍니다. 하지만 엄밀히 말해 위와 같은 구조는 아래처럼 바뀌어야 합니다.

<hr>
<p>

        <a name="name1">Text1</a>

</p>
<br>
<p>
        <a name="name2">Text2</a>
</p>

3.2. Markup 검사 서비스

테스트 블로그 문서에 대해 Markup 검사 서비스를 해 보았습니다. 바로 저 부분을 체크하는지를 알기 위해서입니다. (검사 결과 보기)

그림 3 에러 부분만 잘라낸 화면

<a>와 같은 인라인 요소 안에는 <p>와 같은 블록 단위 요소를 넣을 수 없음을 알려주고 있습니다.

4. 벌레의 원인

HTML 데이터를 만들 때 HTML 문법에 어긋나게 구성하였기 때문에 발생한 벌레입니다. 이는 ᄒᆞᆫ글 측에서 좀 더 주의를 기울였다면 사전에 막을 수 있는 벌레라는 점에서 아쉬움이 남습니다.

5. 비슷한 벌레

[벌레와 팁/버그] - HTML 태그 해석 오류 문제

[벌레와 팁/버그] - 블로그 - 주석 사이의 간격

6. 관련 문서

6.1. 내부 문서

6.2. 외부 문서 - 테스트 블로그

예제 3

예제 5


이 글은 ᄒᆞᆫ글 2010 베타버전에서 작성하였습니다.