<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>は、<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">カテゴリー<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">category</rt></rubyb></dfn> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src>
に属すると定義されることがあります。
複数の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">カテゴリー</anchor>に属することもあります。</p><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <cite xml:lang="en-US-x-hixie">HTML Standard</cite> (<time>2017-09-16 15:17:26 +09:00</time>) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://html.spec.whatwg.org/#kinds-of-content">https://html.spec.whatwg.org/#kinds-of-content</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <cite xml:lang="en-US-x-hixie">HTML Standard</cite> (<time>2017-09-16 15:17:26 +09:00</time>) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://html.spec.whatwg.org/#concept-element-categories">https://html.spec.whatwg.org/#concept-element-categories</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <cite xml:lang="en-US">ARIA in HTML</cite> (<time>2017-09-10 07:44:56 +09:00</time>) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://w3c.github.io/html-aria/#allowed-aria-roles-states-and-properties">https://w3c.github.io/html-aria/#allowed-aria-roles-states-and-properties</anchor-external></li></ul></refs></section><section><h1>一覧</h1><figure class="short list"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素のカテゴリー</anchor></figcaption><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メタデータ内容</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フロー内容</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">章節付け内容</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">見出し内容</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">語句内容</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">被埋込内容</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">対話的内容</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">触知可能内容</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプト支援要素</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">章節付け根</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フォーム被関連付け要素</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">リスト化要素</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">提出可能要素</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ラベル可能要素</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">再設定可能要素</anchor></li></ul></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> どの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">カテゴリー<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">要素のカテゴリー</title></anchor>に属するかは、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前空間</f>と<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">局所名</f>のみならず、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性値</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">祖先</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">子孫</anchor>にも影響されます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>のみならず、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">テキスト</anchor>もいくつかの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">カテゴリー<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">要素のカテゴリー</title></anchor>には属しています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> ここに示した<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素のカテゴリー</anchor>は、 <cite>HTML Standard</cite> で定義されています。
どの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>がどの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">カテゴリー<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">要素のカテゴリー</title></anchor>に属するかも、
<cite>HTML Standard</cite> で定義されていますし、他の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">仕様書</anchor>が定義する場合もあります。
(それぞれの項を参照。)</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="67" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[67]</anchor-end> 
<cite xmlns="http://www.w3.org/1999/xhtml">HTML Standard</cite> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Hixie</anchor> がいなくなってから<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内容モデル</anchor>の規定の記述を適正に運用できなくなったようで、
その後改変があった部分はそれ以前からの部分ほど一貫した記述になっていません。
仕様書の解釈を利用したいときは慎重に読む必要があります。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ARIA</anchor> は <code>role</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性値</anchor>に基づく 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML要素</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">カテゴリー<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">要素のカテゴリー</title></anchor>を追加で規定しています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> これはおおむね <cite>HTML Standard</cite> による<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素のカテゴリー</anchor>により定められる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内容モデル</anchor>の制約と矛盾しませんが、
本来<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フロー内容</anchor>ではない次の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>が、 <code>role</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性値</anchor>次第で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フロー内容</anchor>とみなされ得ることになります。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ARIA</anchor> の規定をそのまま文字通り採用すると<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内容モデル</anchor>の検査は破綻します。</p><figure class="short list"><ul><li><code>li</code></li><li><code>dt</code></li><li><code>dd</code></li><li><code>td</code></li><li><code>th</code></li><li><code>figcaption</code></li><li><code>legend</code></li><li><code>optgroup</code></li><li><code>body</code></li><li><code>link</code> (場合による)</li><li><code>rt</code></li><li><code>rp</code></li></ul></figure><p>同じく <code>role=heading</code> も<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">見出し内容</anchor>となることになっていますが、
そのまま従うと <code>summary</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>や <code>hgroup</code> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内容モデル</anchor>の検査に影響がありますし、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">outline algorithm</anchor> の動作まで変わってしまいます。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内容モデル</anchor>も参照。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> 現実的には、本来の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>の制約を更に厳しく限定する場合のみ <code>role</code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性値</anchor>による分類を適用するべきでしょう。</p></section><section><h1>文脈</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内容モデル</anchor>の記述に使われます。具体例やその他の用法は、各<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">カテゴリー<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">要素のカテゴリー</title></anchor>の項を参照。</p></section><section><h1>歴史</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内容モデル</anchor>の概念の歴史は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内容モデル</anchor>を参照。</p><section><h1>SGML 時代</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML</anchor> が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML</anchor> であると<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">信じられていた<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">裸の王様</title></anchor>時代、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML DTD</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内容モデル</anchor>の記述では、
便宜のため似たような制約を持つ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素型</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数実体</anchor>としてまとめられていました。
<code>%inline</code> や <code>%flow</code> のような分類はここから生まれていきました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML4</anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">行内要素</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ブロック水準要素</anchor>といった<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">仕様書</anchor>本文の用語としてもこの分類を活用し、
各<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>の制約を規定していました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> 以前から <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor> 内の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数実体</anchor>として存在していた「厳密」モードと非「厳密」モードの違いは、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML4</anchor> により<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">厳密DTD</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">移行用DTD</anchor>として明確に区別されるようになりました。
両者の大きな違いの1つとして、各<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内容モデル</anchor>の違いがありました。
特に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">移行用DTD</anchor>で <code>%flow</code> を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">子供</anchor>として認めていた<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>の多くが<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">厳密DTD</anchor>
では <code>%block</code> のみしか認められない (<code>%inline</code> が認められない)
点が際立っていました。</p></section><section><h1>HTML5 時代前期</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> 当初の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML5</anchor> (<cite>Web Applications 1.0</cite>) は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML4</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XHTML 1.0</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">厳密DTD</anchor>や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XHTML 1.1</anchor>
の流れを汲んだ、比較的厳格な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内容モデル</anchor>の制約を定めていました。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML4</anchor> が曖昧だった点を明確化したり、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML DTD</anchor> の技術的制約のため記述できなかった細部を改めたりといった変更を加え、
どちらかといえばより厳格化する方向の規定が含まれていました。</p></section><section><h1>HTML5 時代後期以降</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> その後の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML5</anchor> の改訂により、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素の分類</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内容モデル</anchor>の規定は大きく改められました。
この変更は、
厳しい基準を設けて世の中の大量の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">著者</anchor>に変更を強いる (そして無視される)
という10年以上続いてきた <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML</anchor> の標準化の方針を転換し、
特別有害と考えられる場合を除き制約を緩和するもので、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML4</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">移行用DTD</anchor>と比較しても更に緩い制限しか課さないものでした。
この方針は現在の <cite>HTML Standard</cite> にも引き継がれています。</p></section></section></body></html>