文書構造
文書とは何か
HTML は Web ページを記述するためのマークアップ言語(Markup Language)です。マークアップ言語は文書の構造を記述するテキストのコードであり、文書に含まれる文の意味を指定します。HTML が記述する構造の本質を理解するには、先に文書とは何かを理解する必要があります。
文書に含まれる内容は「表題」や「見出し」、「段落」などの構造を持ち、文は意味のある構造に属しています。図1は「C# 言語仕様 4.0」から抜粋した文書の例です。
文書は「大見出し」「小見出し」「段落」などの階層構造を持ち、文(段落)は、このような意味を持つ階層構造に属していることが確認できます。
HTML は文書に含まれている内容に対し、それが「見出し」なのか「段落」なのかといった意味を付加するために用いられます。これによって HTML によって書かれた文は、文が所属する位置(意味)を文書全体の構造から定義することができます。
文書の構造を読み取ることができれば、ソフトウェアによって描画できます。ブラウザは HTML コードから文書の構造を解析し、含まれている文や画像などを意味に従って整形しているのです。従って、HTML コードを記述するときに最も重要なのは、それが正しく文書の構造を表していることです。
通常、見出しは他の文よりも大きく目立つ位置に表示するため、ブラウザは「見出し」として定義された文を大きく表示仕様とするでしょう。しかり、大きく文字を表示するという目的で、文を見出しにするべきではありません。ところが、Web の黎明期から現在まで、HTML の本来の意味づけとは異なるデザイン上の目的でコードを記述する Web デザイナーが多く存在し、文書の構造が破綻していることも珍しくありません。このような HTML 文書は、特定のブラウザや環境では意図したレイアウトになるかもしれませんが、他のブラウザではレイアウトが崩れるかもしれません。また、検索エンジンなどのプログラムから文書を読み取ったとき、文書の構造を正しく把握できなくなります。