/
901.txt
106 lines (79 loc) · 6.47 KB
/
901.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
[1] [DFN[[RUBYB[[[活性化動作]]]@en[activation behavior]]]]とは、[[要素]]の[[クリック]]によって最終的に呼び出されると規定されている動作のことです。
* 仕様書
[REFS[
- [8] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-01-30 08:05:01 +09:00]] 版) <https://html.spec.whatwg.org/#activation>
-- [2] [CITE@en-US-x-hixie[Web Applications 1.0]]
<http://www.whatwg.org/specs/web-apps/current-work/complete.html#activation-behavior>
-- [5] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-01-30 08:05:01 +09:00]] 版) <https://html.spec.whatwg.org/#nearest-activatable-element>
- [7] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-01-30 08:05:01 +09:00]] 版) <https://html.spec.whatwg.org/#selector-active>
]REFS]
* 活性化の手順
[12] [[要素]]は、その種類と状態に応じて、
[DFN[[RUBYB[クリック前活性化手順]@en[pre-click activation steps]]]]、
[DFN[[RUBYB[クリック後活性化手順]@en[post-click activation steps]]]] = [DFN[[RUBYB[活性化動作]@en[activation behavior]]]]、
[DFN[[RUBYB[取り消しされた活性化の手順]@en[canceled activation steps]]]]が定義されていることがあります [SRC[>>8]]。
[14] [[クリック前活性化手順]]および[[取り消しされた活性化の手順]]は、次の[[要素]]で定義されています。
[FIG(short list)[
- [CODE(HTML)@en[[[<input type=radio>]]]] [SRC[[[HTML Standard]]]]
- [CODE(HTML)@en[[[<input type=checkbox>]]]] [SRC[[[HTML Standard]]]]
]FIG]
;; これらの[[要素]]では、 [CODE(DOMe)@en[[[click]]]] [[イベント]]の直前に状態が変更され、
[CODE(DOMe)@en[[[click]]]] [[イベント]]が[[取り消し]]されると元の状態に戻されます。
[15] 次の[[要素]]には、[[活性化動作]]が定義されている、または状態によっては定義されます。
[FIG(short list)[
- [CODE(HTMLe)@en[[[link]]]] [SRC[[[HTML Standard]]]]
- [CODE(HTMLe)@en[[[a]]]] [SRC[[[HTML Standard]]]]
- [CODE(HTMLe)@en[[[area]]]] [SRC[[[HTML Standard]]]]
- [CODE(HTMLe)@en[[[video]]]] [SRC[[[HTML Standard]]]]
- [CODE(HTMLe)@en[[[audio]]]] [SRC[[[HTML Standard]]]]
- [CODE(HTMLe)@en[[[th]]]] [SRC[[[HTML Standard]]]]
- [CODE(HTMLe)@en[[[label]]]] [SRC[[[HTML Standard]]]]
- [CODE(HTMLe)@en[[[input]]]] [SRC[[[HTML Standard]]]]
- [CODE(HTMLe)@en[[[button]]]] [SRC[[[HTML Standard]]]]
- [CODE(HTMLe)@en[[[menuitem]]]] [SRC[[[HTML Standard]]]]
- [CODE(HTMLa)@en[[[tabindex]]]] [[属性]]を持つ[[要素]] [SRC[[[HTML Standard]]]]
]FIG]
;; [16] [CODE(HTMLe)@en[[[<input type=range>]]]] や[[日時]]選択の[[制御子]]のボタンや、
[CODE(HTMLe)@en[[[select]]]] [[要素]]のボタン、
[[CSS]] [[スクロールバー]]などの動作は[[活性化動作]]とはされていません。
[21] [[活性化動作]]には、[[マウス]]の状態だけでなく、[[鍵盤]]の状態も影響するかもしれません。
[EG[
[22] 例えば[[ハイパーリンク]]での[[クリック]]は、 [KBD[[[Shift]]]]
押下中なら新しい[[窓]]での [[navigate]] となります。
]EG]
* 活性化の手順の呼び出し
[13] [[クリック]]などによって[[要素]]が[[活性化]]されると、
活性化の各手順が呼び出されます ([[クリック]]を参照)。
[[活性化動作]]と[[取り消しされた活性化の手順]]は、 [CODE(DOMe)@en[[[click]]]]
[[イベント]]が[[取り消し]]されたかどうかにより、片方のみ実行されます。
[9] [[利用者エージェント]]は、[[利用者]]が[[要素]]の[[活性化動作]]を手動で[RUBYB[呼び出す]@en[trigger]]方法を用意する[['''べきです''']] [SRC[>>8]]。
[EG[
[10] 例えば[[鍵盤]]入力、[[音声]]入力、[[マウス]]の[[クリック]]のような方法で[[活性化動作]]を指示するような実装が可能です [SRC[>>8]]。
]EG]
;; [11] [[クリック]]およびそれ以外の[[活性化動作]]が指定された時の動作については、
[[クリック]]も参照。
* 要素の活性化の状態
[18] [[要素]]は、その種類だけでなく、状態によっても[[活性化動作]]を持つかどうかが変化することもあります。
;; >>14、>>15 の各項を参照。
[17] ある[[要素]]が[[活性化動作]]を持つかどうかは、どの[[要素]]の[[活性化動作]]が実行されるか
(>>6)、[[フォーム]]が暗示的に[[提出]]できるか ([[既定ボタン]]参照)、
[CODE(CSS)@en[[[:active]]]] が適用されるタイミング、
[CODE(HTMLe)@en[[[input]]]] [[要素]]の[[フォーカス]]に紐付く[[イベント]]の[[発火]]タイミングに影響します。
[6] ある[[要素]]の[DFN[[RUBYB[直近活性化可能要素]@en[nearest activatable element]]]]とは、
その[[要素]]またはその[[祖先]]で[[活性化動作]]が定義されている[[要素]]であって、
直近のものです。存在しないこともあります。 [SRC[>>5]]
[[真正クリック活性化手順]]では、[[活性化動作]]の実行対象が[[直近活性化可能要素]]により決定されます。
[7] ある[[要素]]が[DFN[[RUBYB[形式的活性化状態にある]@en[in a formal activation state]]]]とは、
[[利用者]]が当該[[要素]]の[[活性化動作]]を[RUBYB[実行]@en[trigger]]する意思を示し始めた時点から、
[[利用者]]がその意思を示し終える時点と[[活性化動作]]が実行し終わる時点のいずれか早い方までの間をいいます [SRC[>>18]]。
* 関連
[19] [[活性化動作]]を実行させる状態にあることを[[擬似クラス]] [CODE(CSS)@en[[[:active]]]]
が表しています。
[20] [[活性化]]その他の目的のために[[要素]]が選択されている状態になっていることを[[焦点]]を持っているといいます。
* 歴史
[3] [CITE@en[Web Applications 1.0 r7004 Fix 'activation behavior' definitions for form controls so that .click() doesn't do anything on them if they're disabled; fix definition of default submit buttons so that they are more predictable; unhide some v2COMMAND text that is now applicable again]]
( ([TIME[2012-02-22 09:34:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7003&to=7004>
[4] [CITE@en[Web Applications 1.0 r8453 Move activation stuff from the part of the spec that talks about elements to the part of the spec that talks about user interaction]]
( ([TIME[2014-02-04 06:39:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8452&to=8453>