HTML5、よく使うタグのカテゴリーとコンテンツモデル


HTMLを書くときに、よく使うタグの一覧です。
HTMLには、たくさんのタグがありますが、全部覚えようとしないで、ひとまずよく使うものだけ使えれば十分です。


カテゴリー

HTMLには、タグの特徴に合わせてカテゴリーが指定されています。
場合によっては、複数のカテゴリーが指定されることもあります。
例えば、
addressタグであれば、フロー・コンテンツ
articleタグであれば、フロー・コンテンツとセクショニング・コンテンツ

コンテンツモデル

HTMLは、入れ子の構造をとります。
例えば、以下のコードでは、「divタグの中にpタグ」があると考えます。

<div>
<p></p>
</div>

ですが、全てのタグで、ごちゃ混ぜになんでも入れ子に出来るわけではにありません。
「どのタグには、何を入れ子にすることが出来るか」というルールがコンテンツモデルです。
例えば、
articleタグには、フローコンテンツを、
dtタグには、フレージングコンテンツを入れることが出来ます。

私がよく使うHTMLタグ


タグ名 カテゴリー コンテンツモデル 意味
aフロー・コンテンツ
フレージング・コンテンツ
インタラクティブ・コンテンツ(href属性有の場合のみ)
トランスペアレントハイパーリンク
addressフロー・コンテンツフロー・コンテンツ
※下位要素に以下を入れることは不可
ヘディング・コンテンツ、セクショニング・コンテンツ、header 要素、footer 要素、address 要素
連絡先・問合せ先を表す
articleフロー・コンテンツ
セクショニング・コンテンツ
フロー・コンテンツ記事であることを示す
asideフロー・コンテンツ
セクショニング・コンテンツ
フロー・コンテンツ余談・補足情報
audioフロー・コンテンツ
フレージング・コンテンツ
エンベッディド・コンテンツ
インタラクティブ・コンテンツ(controls属性有の場合のみ)
src属性有:トランスペアレント(下位要素に media 要素を入れることは不可)
src属性無:0 個以上の source要素 + トランスペアレント(下位要素に media 要素を入れることは不可)
音声を再生する
bodyセクショニング・ルートフロー・コンテンツ文書の本体
brフロー・コンテンツ
フレージング・コンテンツ
他の要素は入れられない改行
buttonフロー・コンテンツ
フレージング・コンテンツ
インタラクティブ・コンテンツ
フレージング・コンテンツ(下位要素にインタラクティブ・コンテンツを入れることは不可)ボタン
ddなしフロー・コンテンツ定義リストの説明
divフロー・コンテンツフロー・コンテンツひとかたまりの範囲
dlフロー・コンテンツ1個以上のdt要素 + 1個以上のdd要素のセットを0個以上定義リスト
dtなしフレージング・コンテンツ定義リストの項目
figcaptionなしフロー・コンテンツ画像の説明
figureフロー・コンテンツ
セクショニング・ルート
・1つのfigcaption要素の後にフロー・コンテンツ ・または、フロー・コンテンツの後に1つの figcaption要素 ・または、フロー・コンテンツ
この3パターンのいずれか
図表
footerフロー・コンテンツフロー・コンテンツ(下位要素に header要素及び footer 要素を入れることは不可)フッター
formフロー・コンテンツフロー・コンテンツ(下位要素に form 要素を入れることは不可)フォーム
h1~h6フロー・コンテンツ
ヘディング・コンテンツ
フレージング・コンテンツ見出し
headerフロー・コンテンツフロー・コンテンツ(下位要素に header要素及び footer 要素を入れることは不可)ヘッダー
headなし1つ以上のM そのうち1個は title要素文書のヘッダ情報
htmlなしhead要素の後にbody要素HTML文書であることを示す
iフロー・コンテンツ
フレージング・コンテンツ
フレージング・コンテンツ声や心の中で思ったことなど、他と区別したいテキストを表す
iframeフロー・コンテンツ
フレージング・コンテンツ
エンベッディド・コンテンツ
インタラクティブ・コンテンツ
テキストインラインフレームを作る
imgフロー・コンテンツ
フレージング・コンテンツ
エンベッディド・コンテンツ
インタラクティブ・コンテンツ(usemap属性有の場合のみ)
他の要素は入れられない画像
inputフロー・コンテンツ
フレージング・コンテンツ
インタラクティブ・コンテンツ(type属性hidden以外)
他の要素は入れられない入力項目
labelフロー・コンテンツ
フレージング・コンテンツ
インタラクティブ・コンテンツ
フレージング・コンテンツ
※下位要素に以下を入れることは不可
label要素、ラベルの対象になってないフォーム関連要素
入力項目のラベル
liなしフロー・コンテンツリスト項目
linkメタデータ・コンテンツなしリンクする外部ファイルを指定する
metaメタデータ・コンテンツ他の要素は入れられないメタ情報
navフロー・コンテンツ
セクショニング・コンテンツ
フロー・コンテンツナビゲーション
olフロー・コンテンツ0個以上の li要素順番付きリスト
pフロー・コンテンツフレージング・コンテンツ段落
scriptメタデータ・コンテンツ
フロー・コンテンツ
フレージング・コンテンツ
src属性無:type属性の値に依存。スクリプト
src属性有:他の要素は入れられない
スクリプトファイルを読み込む
sectionフロー・コンテンツ
セクショニング・コンテンツ
フロー・コンテンツ区分
smallフロー・コンテンツ
フレージング・コンテンツ
フレージング・コンテンツ細目
sourceなし他の要素は入れられない動画や音声などのURLや種類を指定する
spanフロー・コンテンツ
フレージング・コンテンツ
フレージング・コンテンツひとつの範囲として定義する
styleメタデータ・コンテンツ
フロー・コンテンツ(scoped属性有の場合)
type属性の値に依存。スタイルシートスタイルシートを記述する
tableフロー・コンテンツ次の順番で配置:
オプションでcaption要素/0個以上のcolgroup要素/オプションでthead要素/オプションでtfoot要素/0個以上のtbody要素または1個以上のtr要素/オプションでtfoot 要素(ただしtfoot要素はtable内で1個だけ)
tdセクショニング・ルートフロー・コンテンツ表のデータセル
textareaフロー・コンテンツ
フレージング・コンテンツ
インタラクティブ・コンテンツ
テキスト複数行のテキスト入力
thなしフレージング・コンテンツ表の見出しセル
titleメタデータ・コンテンツテキストタイトル
trなし0個以上td要素またはth要素表の横一行
ulフロー・コンテンツ0個以上のli要素箇条書き
videoフロー・コンテンツ
フレージング・コンテンツ
エンベッディド・コンテンツ
インタラクティブ・コンテンツ(controls属性有の場合)
src属性有:0個以上のtrack要素 + トランスペアレント(下位要素に media 要素を入れることは不可)
src属性無:0 個以上のsource要素、0個以上のtrack要素 + トランスペアレント(下位要素に media 要素を入れることは不可)
動画を再生する