* 仕様書
[REFS[
- [17] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2014-04-03 03:44:44 +09:00]] 版)
- [2] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2014-02-19 22:39:17 +09:00]] 版)
- [27] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2014-04-03 03:44:44 +09:00]] 版)
]REFS]
* [CODE(HTMLe)@en[canvas]] 要素の内容
[18] [CODE(HTMLe)@en[[[canvas]]]] [[要素]]の[[内容]]は[[透過内容]]ですが、
[[子孫]]に制約があります。[[対話的内容]]は[[子孫]]にできませんが、
次の場合は認められています [SRC[>>17]]。
[FIG[
- [19] [CODE(HTMLe)@en[[[a]]]] [[要素]]
- [20] [CODE(HTMLe)@en[[[img]]]] [[要素]]で [CODE(HTMLa)@en[[[usemap]]]] [[属性]]がある場合
- [21] [CODE(HTMLe)@en[[[button]]]] [[要素]]
- [22] [CODE(HTML)@en[[[]]]], [CODE(HTML)@en[[[]]]]
- [23] [CODE(HTMLe)@en[[[input]]]] [[要素]]で[[ボタン]]の場合
- [24] [CODE(HTMLe)@en[[[select]]]] [[要素]]で [CODE(HTMLa)@en[[[multiple]]]] [[属性]]があるか[[表示サイズ]]が
1 より大きい場合
- [25] [[整列インターフェイス[CODE(HTMLe)@en[th]]要素]]
- [26] [CODE(HTMLa)@en[[[tabindex]]]] [[属性]]がなかったとしたら[[対話的内容]]でないもの
]FIG]
;; [29] [[透過内容]]ですから、 [CODE(HTMLe)@en[[[canvas]]]] [[要素]]が使われている場所に応じて、
[[対話的内容]]でない[[フロー内容]]または[[字句内容]]も使えます。
[28] [CODE(DOMm)@en[[[addHitRegion]]]] [[メソッド]]で指定できる[[要素]]は[DFN[[RUBYB[[[対応対話的canvasフォールバック要素]]]@en[supported interactive canvas fallback element]]]]とされており、
次の[[要素]]です [SRC[>>27]]。
[FIG[
- [30] [CODE(HTMLe)@en[[[a]]]] [[要素]]で[[ハイパーリンク]]を表し [CODE(HTMLe)@en[[[img]]]] [[要素]]を[[子孫]]に持たないもの
- [31] [CODE(HTMLe)@en[[[button]]]] [[要素]]
- [32] [CODE(HTML)@en[[[]]]], [CODE(HTML)@en[[[]]]]
- [33] [CODE(HTMLe)@en[[[input]]]] [[要素]]で[[ボタン]]の場合、ただし [CODE(HTML)@en[[[]]]]
を除く
- [34] [CODE(HTMLe)@en[[[select]]]] [[要素]]で [CODE(HTMLa)@en[[[multiple]]]] [[属性]]があるか[[表示サイズ]]が
1 より大きい場合
- [35] >>34 のような [CODE(HTMLe)@en[[[select]]]] [[要素]]の[[選択肢リスト]]にある [CODE(HTMLe)@en[[[option]]]]
[[要素]]
- [36] [[整列インターフェイス[CODE(HTMLe)@en[th]]要素]]
- [37] [CODE(HTMLa)@en[[[tabindex]]]] [[属性]]がなかったとしたら[[対話的内容]]でない[[対話的内容]]
- [38] [[対話的内容]]でない [CODE(HTMLe)@en[[[table]]]], [CODE(HTMLe)@en[[[caption]]]],
[CODE(HTMLe)@en[[[thead]]]], [CODE(HTMLe)@en[[[tbody]]]], [CODE(HTMLe)@en[[[tfoot]]]],
[CODE(HTMLe)@en[[[tr]]]], [CODE(HTMLe)@en[[[td]]]], [CODE(HTMLe)@en[[[th]]]] [[要素]]
]FIG]
;; [39] >>18 と >>28 は似ていますが、細部が違っています。 >>30 と >>33 は後者の方が制限が強くなっています。
>>20 は前者にのみあります。 >>35 と >>38 は後者にのみあります。
;; [40] >>36, >>37, >>38 は重複があるので、結局 >>38 の[[要素]]は無条件で認められることになります。
* [CODE(HTMLe)@en[canvas]] フォールバック内容
[1] ある[[要素]]が [CODE(HTMLe)@en[[[canvas]]]] [[要素]]を[[祖先]]として持ち、直近のそれが[[レンダリングされている]]ものであって、
[[埋め込み内容]]を[[表現]]している時、
これを[DFN[[RUBYB[関係する [CODE(HTMLe)@en[canvas]] のフォールバック内容として使われている]@en[being used as relevant canvas fallback content]]]]といいます。
[SRC[>>2]]
[5] そのような[[要素]]は直接は[[レンダリングされている]]わけではありませんが、[[フォーカス]]の処理においてはほぼ[[レンダリングされている]][[要素]]と同じように扱われています。
* 歴史
[REFS[
- [3] [CITE@en[Web Applications 1.0 r8478 Revamp how focus is defined, to actually handle things we've ignored before, like viewports and scrollable regions]] ([TIME[2014-02-20 07:39:00 +09:00]] 版)
]REFS]
[4] >>1 の定義は >>3 で追加されました。
[6] [CITE@en[Web Applications 1.0 r8485 Fix the condition for the