interactive content

interactive content

[1] 対話的内容 (interactive content) は、利用者との対話を特に想定している内容です HTML5

仕様書

一覧

[3] 対話的内容に分類されるものはすべて要素です。大雑把に言って、 一般的な視覚利用者エージェント利用者クリックして動作させられる要素対話的内容に分類されています。

[6] HTML5object 要素の定義の章にはコメントとして、 本当は閲覧文脈プラグインの埋め込みに使われる場合には対話的内容としたいものの、 構文的に判断がつかないのでそう定義していない、との記述があります。

[13] SVGMathML要素も本来場合によっては対話的内容として扱わなければならないはずですが、 現在どの仕様書にもそのような規定はありません。

[14] 例えば HTMLリンクの中に SVGリンクを含められるべきではありません。

[10] >>9 には JSON 形式の対話的内容の一覧が含まれています。

利用できる文脈と内容モデル

[4] 内容を持てる対話的内容のいくつかは、 子孫対話的内容を含めることが禁止されています。

[5] button 要素によって表現されるボタンを例に採ると、 button 要素が入れ子になっていると、内側の button 要素レンダリングされる領域をクリックした時の動作がどうなるべきかが問題となります。 実際の動作は仕様上規定されてはいますが、そもそも意味論的に「対話的」 なものを入れ子にすることが適当か疑わしく、実益もほとんどないので、 対話的内容の入れ子は認められていないものと思われます。

[12] a 要素の場合、それに加えて HTML構文において入れ子にできないという制限もあるので、 混乱を防ぐために入れ子を禁止しているようです。

歴史

[11] Fix #168: <a> without href is not interactive content · whatwg/html@528a223 ( 版) https://github.com/whatwg/html/commit/528a22340a4bdc6ca0b0e190dfd239989123df9b

[15] summary element definition does not reflect implementations · Issue #2246 · whatwg/html () https://github.com/whatwg/html/issues/2246

[16] Define what tabIndex returns when the tabindex attribute is not set (rakina著, ) https://github.com/whatwg/html/commit/15cf23a55d629e0b1286302c19634833a89292ab