★HTML5リファレンス
| HTML5における要素の分類(コンテンツ・モデル)
|
HTML4.01では要素は大きくブロックレベル要素とインライン要素のいずれかに分類されていますが、 HTML5ではブロックレベル要素とインライン要素の分類は無くなります。
HTML5では、メタデータ、フロー、セクション、ヘッディング、フレージング、エンベッディッド、インタラクティブというコンテンツの種類が定義されています。 HTML5におけるこれらのコンテンツの種類の定義は「コンテンツ・モデル」と呼ばれます。
HTML5の各要素は、上記のコンテンツの種類のいずれか一つのみに分類されるのではなく、 一つの要素に対して複数のコンテンツの種類が定義されることもあります。 例えば、section要素はフロー・コンテンツであり、同時にセクショニング・コンテンツでもあります。
また、特定の属性や属性値を持った場合にだけインタラクティブ・コンテンツになるなど、条件付きで要素の種類が変化することもあります。
メタデータ・コンテンツ(Metadata content)
フロー・コンテンツ(Flow content)
* 特定の条件の場合 セクショニング・コンテンツ(Sectioning content)
ヘッディング・コンテンツ(Heading content)
フレージング・コンテンツ(Phrasing content)
* 特定の条件の場合 エンベッディッド・コンテンツ(Embedded content)
インタラクティブ・コンテンツ(Interactive content)
* 特定の条件の場合 |
| HTML5では、コンテンツ・モデルでタグの配置ルールが決まる
|
HTML5では、上記のコンテンツの種類に各要素が分類されることで、 どの要素の中にどの要素を配置できるかというタグの配置ルールが決まります。
HTML4.01でタグの意味を意識してマークアップしてきた人なら、 上記のコンテンツの種類の分類を知らなくてもそれほど大きな間違いをすることはないでしょうが、 文法的により正確なHTML文書を作成することを目指す場合には、 どの要素がどのコンテンツの種類に分類されているかを意識する必要があるでしょう。
|