introduction

HTML Standard

HTML - MDN Web Docs 用語集: ウェブ関連用語の定義 | MDN HTML5 - MDN Web Docs 用語集: ウェブ関連用語の定義 | MDN

HTML: ハイパーテキストマークアップ言語 | MDN

contents_category

コンテンツカテゴリー - HTML: ハイパーテキストマークアップ言語 | MDN HTML Standard

ほとんどのHTML要素は1つ以上のコンテンツカテゴリーに属する。 コンテンツカテゴリーは共通した特徴毎にゆるくグルーピングしたものである。

  • 主要
  • フォーム関連
  • 固有
  • その他

主要

下記など・・・

  • メタデータ
  • フロー
  • 区分
  • 見出し
  • 記述
  • 埋め込み
  • 対話型
  • 知覚可能
  • フォーム関連

restrictions

HTML Standard

  • 表現されたセマンティクスに矛盾がある場合
  • デフォルトのスタイルが混乱を招きやすい場合
  • etc...

表現されたセマンティクスに矛盾がある場合

例)矛盾

<!-- セパレーターが同時にセルになることはない -->
<hr role="cell">
<!-- ラジオボタンがプログレスバーになることはない -->
<input type=radio role=progressbar>

デフォルトのスタイルが混乱を招きやすい場合

例)インラインボックスがブロックボックスを含む

<span>
  foo
  <div>bar</div>
</span>

例)対話型コンテントのネスト

<button>
  foo
  <textarea></textarea>
</button>

メモ:aタグの子要素には対話型コンテンツを含めることができない

The a element can be wrapped around entire paragraphs, lists, tables, and so forth, even entire sections, so long as there is no interactive content within (e.g., buttons or other links). https://html.spec.whatwg.org/multipage/text-level-semantics.html#the-a-element