HTML5の基礎知識~コンテンツモデル(その他のカテゴリー)~
素人が書く備忘録
HTML5のカテゴリとコンテンツモデルについて(基本的にはHTML5.2を元に記載。)
以下の前回記載したコンテンツモデルで定義されている7つのメインカテゴリのほかにも、
その他のカテゴリーがある。
chooringo.hatenablog.com
その他のカテゴリー
パルパブルコンテンツ(Palpable content)
基本的には、コンテンツモデルがフローコンテンツまたはフレージングコンテンツの要素は、
hidden属性を含まない要素を1つ以上含む必要がある。
ただし、スクリプト等で後から内容が挿入される場合もあり、その場合は空でもOKなのでそこまで厳しい条件ではない。
a、abbr、address、article、aside、audio(controls属性が指定されている時)、b、bdi、bdo、blockquote、button、canvas、cite、code、data、details、dfn、div、dl(子要素に1つ以上のname-valueグループが含まれている時)、em、embed、fieldset、figure、footer、form、h1、h2、h3、h4、h5、h6、header、i、iframe、img、input(typeがhidden以外の時)、ins、kbd、label、main、map、mark、math、meter、nav、object、ol(子要素に1つ以上のli要素が含まれている時)、output、p、pre、progress、q、ruby、s、samp、section、select、small、span、strong、sub、sup、svg、table、textarea、time、u、ul(子要素に1つ以上のli要素が含まれている時)、var、video、要素間がスペースでない文字列
トランスペアレントコンテンツモデル(Transparent content models)
透過的な要素。これに属する要素のコンテンツモデルは、親要素と同じになる。
つまり、親要素と同じ要素を内包することができる。
a、ins、del、object、audio、video、canvas、map、noscript
セクショニング・ルート
独立したアウトラインを持ち、親要素のアウトラインには影響を与えない。
blockquote、body、details、dialog、fieldset、figure、td