@ HTML

カテゴリーとコンテンツモデル

カテゴリー

カテゴリーとは、タグの意味や役割で分類された「タグの種類」のことです。

多くのタグは、1つ以上のカテゴリーに属しています。

メタデータ、フロー、セクショニング、ヘッディング、フレージング、エンベッディッド、インタラクティブというタグの種類が定義されています。HTML5 におけるこれらのタグの種類の定義は「コンテンツモデル」と呼ばれます。

HTML5 のカテゴリー
メタデータ・コンテンツ
(Metadata content)
文書情報や他の文書との関係を定義するもの
フロー・コンテンツ
(Flow content)
子孫にテキストなどを持つもの(div、h1、a、strong など)
ほとんどすべての要素
セクショニング・コンテンツ
(Sectioning content)
見出しと概要を付けられるもの
article、aside、nav、sectionの4要素
ヘッディング・コンテンツ
(Heading content)
セクションの見出しとなるもの
フレージング・コンテンツ
(Phrasing content)
段落などの中に含まれる文節・語句など(span、i、b、br など)
エンベッディッド・コンテンツ
(Embedded content)
文書に他のリソースを埋め込むもの
インタラクティブ・コンテンツ
(Interactive content)
ユーザーによる操作に対応するもの

HTML5.1 勧告

3.2.4.2. Kinds of content – HTML5 – W3C

コンテンツモデル

コンテンツモデルは HTML5 で導入された新しい概念で、タグ(要素)にどんなコンテンツ(内容)を入れて良いかを定義するものです。

例えば、section 要素のコンテンツモデルはフロー・コンテンツとセクショニング・コンテンツに定義されます。これらのカテゴリーに属する要素であれば section 要素の中に入れても良いということになり、逆を言えば、それ以外のカテゴリーは入れられないということになります。

HTML5.1 勧告

3.2.4. Content models – HTML5.1 – W3C