You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Can a focusable element match :active if it has no activation behavior? #13116
The spec requires using this first relevant entry to determine if an element is being activated:
[...] an HTML user agent must use the first relevant entry in the following list
[...]
If the element is focusable
The element is being activated if it is in a formal activation state.
If I am not mistaken, <div tabindex="1">focusable</div> cannot be in a formal activation state because it has no activation behavior. Therefore, the user agent should not check the remaining entry of the algorithm:
If the element is being actively pointed at
The element is being activated.
However, it matches :active in current version of Chrome stable and Firefox ESR, when it is actively pointed at.
The issue is that the HTML Standard's algorithm for determining whether an element matches :active may be inconsistent with the observed browser behavior.
The standard says the user agent must use the first relevant entry in the list. For a focusable element such as
, the applicable entry says the element is being activated only if it is in a formal activation state. Since a div has no activation behavior, it cannot enter that state under the standard's definition. The algorithm should therefore not reach the subsequent entry for elements being actively pointed at.
However, Chrome Stable and Firefox ESR reportedly match :active on such a div while the pointer is held down.
This suggests a potential ambiguity or specification–implementation mismatch: should the focusable-element entry prevent the algorithm from falling through to the actively-pointed-at entry, or should the latter still apply?
Activity
krasavamarat commentedon Oct 23, 2026
The issue is that the HTML Standard's algorithm for determining whether an element matches :active may be inconsistent with the observed browser behavior.
The standard says the user agent must use the first relevant entry in the list. For a focusable element such as
However, Chrome Stable and Firefox ESR reportedly match :active on such a div while the pointer is held down.
This suggests a potential ambiguity or specification–implementation mismatch: should the focusable-element entry prevent the algorithm from falling through to the actively-pointed-at entry, or should the latter still apply?