HTML은 문서의 구조를 정의하기 위해 태어났지만, 이후 사용자와 브라우저 제작사의 요청에 의해 문서의 표현도 정의하게 되었다. 그 결과, HTML 태그들은 세종류로 나뉘어지게 되었다.

  • 구조적 마크업(Structual Markup) : 문서의 구조를 규정한다. 문단 p 와 제목글h1 ~6 등이 여기에속한다.
  • 양식적 마크업(Stylistic Markup) : 상당수의 HTML 태그들이 표현하는 스타일을 징정하기 위한 것들이다. 대표적인 것이 b (굵은 글씨체)이다. 이런 종류의 마크업은 문서가 비시각적 매체로 표현될 때에는 의미가 없기 때문에 사용하지 않는 것이 좋다.
  • 서술적 마크업(desciptive markup) : 의미적 마크업은 의미적(sementic) 마크업과 동일한 뜻으로, 요소 내용의 성질을 서술한다. 대표적인 예로 title 과 address 등이 여기에 속한다.

구조적 마크업 :

구조적 마크업은 항상 쓰이며, XHTML의 존재 이유이기도 하다. 구조적 마크업은 문서 내용의 형태와 무결성을 제공한다.

양식적 마크업 :

양식적 마크업은 요소 내용이 표시되는 스타일을 정의한다. 양식적 마크업은 양날의 검과 같으며, 화면 표시용 또는 인쇄용으로 만들어진 문서에만 적용된다.

그러나 가로로 긴 모니터 화면에 대한 디자인 원칙과 세로로 긴 인쇄 용지에 대한 디자인 원칙은 무척 다르다. 또한 사용자마다 화면 해상도도 다르고 사용하는 인쇄 용지도 다르기 때문에 동일한 문서라도 경우에 따라서는 전혀 의도하지 않은 모습으로 나타날 수 있다.

그리고 음성 브라우저나 점자 판독기 등 전혀 다른 종류의 매체를 사용하고자 하는 사용자들도 존재한다. 이러한 점들을 고려한다면 문서의 스타일 적용은 스타일쉬트로 분리하는 것이 바람직하다.

양식적 마크업들 중에는 table 태그와 같이 본래 의도를 잃고 대중화되버린 것들도 있다. 그러나 광범위한 접근성과 매체간의 호환성을 생각한다면 항상 서술적 마크업을 사용하는 것이 보다 더 나은 선택이라 할 수 있다.

서술적(의미적) 마크업 :

이제는 서술적 마크업을 좀더 많이 사용해야 한다는 사람들이 많아지고 있는 추세인데, 그 이유 중 하나는 서술적 마크업이 웹상의 방대한 문서들에 대한 검색에 도움이 되기 때문이다. 이는 XML이 하나의 새로운 마크업 언어로 도입된 주된 이유들 중 하나다.