技術をかじる猫

適当に気になった技術や言語、思ったこと考えた事など。

HTML5 の基本を学び直す(1)

コンテンツ・モデル

どこのコンテンツに何が配置できるかの仕様を言うらしい。 今日まで真面目にやったこと無かったからなぁ…。

要素はいくつかカテゴリがあるらしく。

  • フローコンテンツ
    • インタラクティブコンテンツ
    • フレージングコンテンツ
      • エンベデットコンテンツ
    • ヘッディングコンテンツ
    • セクショニングコンテンツ
  • メタデータコンテンツ

複数のカテゴリにまたがった要素もある。 これまではインラインコンテンツとブロックコンテンツがあったが、HTML5 では上記の様に大量の種類があるそうな。
因みに、ブロック要素とインライン要素のくくりは廃止になったそうな。

コンテンツモデルは配置ルール、カテゴリは各要素の分類。

種類 タグ
メタデータ メタデータやスタイルの類 base, link, meta, noscript, script, style, title
フロー body 内などに配置するおおよその要素 a, abbr, address, area, article, aside, audio, b, bdi, bdo, blockquote, br, button, canvas, cite, code, datalist, del, fieldset, figure, footer, form, h1, ... h6, header, hgroup, hr, i, iframe, img, input, ins, kdb, keygen, label, map, mark, math, menu, meter, nav, noscript, object, ol, output, p, pre, progress, q, ruby, s, samp, script, section, select, small, span, strong, style, sub, sup, svg, table, textarea, time, u, ul, var, video, wbr, text
セクショニング 文章のセクション等意味を持つタグ article, aside, nav, section
ヘッディング セクションの始まりを示す要素 h1, ... h6
フレージング テキストの要素 a, abbr, area, audio, b, bdi, bdo, br, button, canvas, cite, code, datalist, del, dfn, em, embet, i, iframe, img, input, ins, kbd, keygen, label, map, mark, math, meter, noscript, object, output, progress, q, ruby, s, samp, script, select, small, span, strong, sub, sup, svg, textarea, time, u, var, video, wbr, text
エンベデット 外部ファイルを読み込む要素 audio, canvas, embed, iframe, img, math, object, svg, video
インタラクティブ ユーザが操作するとアクションが起こる要素 a, audio, button, details, embed, iframe, img, input, keygen, label, menu, object, select, textarea, video

フロー、フレージングコンテンツを内包可能な要素を パルパブルコンテンツ というらしい。 また、親要素で定義した内容を引き継いで適用することをトランスペアレントという。