[1] [DFN[[RUBYB[[RUBY[活][かっ]][RUBY[性][せい]][RUBY[化][か]][RUBY[動][どう]][RUBY[作][さ]]]@en[activation behavior]]]]は、
[[要素]]の[[クリック]]によって最終的に呼び出されると規定されている動作のことです。

[EG[
[36] 
例えば 
[CODE[a]]
[[要素]]は、
[[ハイパーリンクをたどる]]のが[[活性化動作]]です。
]EG]

* 仕様書

[REFS[
- [26] [CITE@en[DOM Standard]] ([TIME[2016-10-21 03:59:46 +09:00]]) <https://dom.spec.whatwg.org/#eventtarget-activation-behavior>
- [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[activation behavior]]]]
(旧[DFN[[RUBYB[クリック後活性化手順]@en[post-click activation steps]]]])、
[DFN[[RUBYB[遺物活性化前動作]@en[legacy-pre-activation behavior]]]]
(旧[DFN[[RUBYB[クリック前活性化手順]@en[pre-click activation steps]]]])、
[DFN[[RUBYB[遺物被取消活性化動作]@en[legacy-canceled-activation behavior]]]]
(旧[DFN[[RUBYB[取り消しされた活性化の手順]@en[canceled activation steps]]]])
が定義されていることがあります [SRC[>>26, >>8]]。

[15] 次の[[要素]]には、[[活性化動作]]が定義されている、または状態によっては定義されます。
[FIG(middle list)[
- [CODE(HTMLe)@en[[[link]]]] [SRC[[[HTML Standard]]]]
- [CODE(HTMLe)@en[[[a]]]] [SRC[[[HTML Standard]]]]
- [CODE(HTMLe)@en[[[area]]]] [SRC[[[HTML Standard]]]]
- [DEL[[CODE(HTMLe)@en[[[video]]]] [SRC[[[HTML Standard]]]]]]
- [DEL[[CODE(HTMLe)@en[[[audio]]]] [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(HTMLe)@en[summary]]

[HISTORY[
- [CODE(HTMLe)@en[[[th]]]] [SRC[[[HTML Standard]]]]
- [CODE(HTMLa)@en[[[tabindex]]]] [[属性]]を持つ[[要素]] [SRC[[[HTML Standard]]]]
]HISTORY]
]FIG]

;; [16] [CODE(HTMLe)@en[[[<input type=range>]]]] や[[日時]]選択の[[制御子]]のボタンや、
[CODE(HTMLe)@en[[[select]]]] [[要素]]のボタン、
[[CSS]] [[スクロールバー]]などの動作は[[活性化動作]]とはされていません。

[14] [[遺物活性化前動作]]および[[遺物被取消活性化動作]]は、次の[[要素]]で定義されています。
[FIG(middle  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]]]] [[イベント]]が[[取り消し]]されると元の状態に戻されます。

[31] 
関連して、 [[focusing steps]] が実行されることがあります。

-*-*-

[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>

[23] [CITE@en[Remove the activation behavior of media elements · whatwg/html@c649b7f]]
([TIME[2015-09-15 11:05:18 +09:00]] 版)
<https://github.com/whatwg/html/commit/c649b7f1bcebc1e8effdc063ec4a85a782b5fd63>

[24] [CITE@en[Define special dispatch behavior for click events]]
([[annevk]]著, [TIME[2016-10-18 01:55:28 +09:00]])
<https://github.com/whatwg/dom/commit/cb12fd4e2db68a9d86841a13a73611e16f9f1fb4>

[25] [CITE@en[Editorial: rename activation-behavior-related algorithms]]
([[annevk]]著, [TIME[2016-10-20 17:45:18 +09:00]])
<https://github.com/whatwg/dom/commit/82692b9bebfb94b948d3f7593da05ea7c1e23ffc>

[27] [CITE@en[Align activation behavior with changes to DOM Standard]]
([[annevk]]著, [TIME[2016-10-21 00:06:40 +09:00]])
<https://github.com/whatwg/html/commit/7beb920ba2e1a71246b81d86005f223a0d7ac8ab>

[28] [CITE@en[Remove tabindex's synthetic click event feature]]
([[annevk]]著, [TIME[2016-11-04 00:03:54 +09:00]])
<https://github.com/whatwg/html/commit/35e3e1ec556de58da08d928ee033b7d10e91d1b9>

[29] [CITE@en[Please add two clarification · Issue #3466 · whatwg/html]]
([TIME[2018-02-26 11:57:39 +09:00]])
<https://github.com/whatwg/html/issues/3466>

[30] [CITE@en[Handle delegates focus in the focusing steps]]
([[rakina]]著, [TIME[2019-10-16 15:46:58 +09:00]])
<https://github.com/whatwg/html/commit/133607f19d5bd4e554c2106f36ee70c6a67cbb5d>

[32] [CITE@en[Explain label activation behavior + custom elements]]
([[domenic]], [TIME[2019-12-05 04:39:57 +09:00]], [TIME[2021-03-17T11:26:28.000Z]])
<https://github.com/whatwg/html/commit/836294cbb6c7a9e0364293a29b308afd5eee1eba>

[33] [CITE@en[Activation behavior of label elements pointing to form-associated custom elements · Issue #5009 · whatwg/html]]
([TIME[2021-03-17T11:27:18.000Z]])
<https://github.com/whatwg/html/issues/5009>

[34] [CITE@en[Explain label activation behavior + custom elements by domenic · Pull Request #5021 · whatwg/html]]
([TIME[2021-03-17T11:29:04.000Z]])
<https://github.com/whatwg/html/pull/5021>

[35] [CITE@en[Revamp the user activation model]]
([[mustaqahmed]], [TIME[2019-12-05 04:09:23 +09:00]], [TIME[2022-01-19T09:30:44.000Z]])
<https://github.com/whatwg/html/commit/8f8c1f50158736b3cf16188377a0974a20367c8b>