diff --git a/index b/index index ff947ea7159..bc7b812c8e1 100644 --- a/index +++ b/index @@ -35875,7 +35875,8 @@ explain that only direct children of the matter
  • command elements that do not have a disabled attribute
  • -
  • any other element, if it is focusable
  • +
  • any other element, if it is specially + focusable
  • @@ -35926,7 +35927,8 @@ explain that only direct children of the matter first such element's Disabled State facet is false (not disabled) -
  • any other element, if it is focusable
  • +
  • any other element, if it is specially + focusable
  • @@ -45444,13 +45446,11 @@ at the first element with the given ID must be treated as if it was cloned and r -

    An element is focusable if the tabindex attribute's definition above - defines the element to be focusable and the element is - being rendered.

    +

    An element is specially focusable if the tabindex attribute's definition above + defines the element to be focusable.

    -

    An element that is focusable but does not otherwise - have an activation behavior defined has an +

    An element that is specially focusable but does not + otherwise have an activation behavior defined has an activation behavior that does nothing.

    This means that an element that is only focusable @@ -45459,6 +45459,44 @@ at the first element with the given ID must be treated as if it was cloned and r to a non-mouse activation (e.g. hitting the "enter" key while the element is focused).

    +

    An element is focusable if the user agent's default + behavior allows it to be focusable or if the element is + specially focusable, but only if the element is + being rendered.

    + +

    User agents should make the following elements + focusable, unless platform conventions dictate + otherwise:

    + + +

    The tabIndex DOM attribute must reflect the value of the tabindex content attribute. If the attribute is not present, or parsing its value returns an error, @@ -45518,9 +45556,17 @@ at the first element with the given ID must be treated as if it was cloned and r -

    User agents should run the unfocusing steps for an - element whenever the user moves the focus away from any - focusable element.

    +

    When the user moves the focus away from a focusable + element, the user agent should run the unfocusing steps + that element.

    + +

    When an element that is focused stops being a + focusable element, the user agent should run the + unfocusing steps that element.

    + +

    For example, this might happen because the + element is removed from its Document, or has a hidden attribute added. It would also + happen to an input element when the element gets disabled.

    6.5.3 Document-level focus APIs

    diff --git a/source b/source index b8f33e6a847..525800da0bf 100644 --- a/source +++ b/source @@ -38255,7 +38255,8 @@ explain that only direct children of the matter
  • command elements that do not have a disabled attribute
  • -
  • any other element, if it is focusable
  • +
  • any other element, if it is specially + focusable
  • @@ -38318,7 +38319,8 @@ explain that only direct children of the matter title="command-facet-disabledstate">Disabled State facet is false (not disabled) -
  • any other element, if it is focusable
  • +
  • any other element, if it is specially + focusable
  • @@ -48613,14 +48615,12 @@ at the first element with the given ID must be treated as if it was cloned and r -

    An element is focusable if the An element is specially focusable if the tabindex attribute's definition above - defines the element to be focusable and the element is - being rendered.

    + defines the element to be focusable.

    -

    An element that is focusable but does not otherwise - have an activation behavior defined has an +

    An element that is specially focusable but does not + otherwise have an activation behavior defined has an activation behavior that does nothing.

    This means that an element that is only focusable @@ -48629,6 +48629,53 @@ at the first element with the given ID must be treated as if it was cloned and r to a non-mouse activation (e.g. hitting the "enter" key while the element is focused).

    +

    An element is focusable if the user agent's default + behavior allows it to be focusable or if the element is + specially focusable, but only if the element is + being rendered.

    + +

    User agents should make the following elements + focusable, unless platform conventions dictate + otherwise:

    + +
      + +
    • a elements that have an href attribute
    • + +
    • area elements that have an href attribute
    • + +
    • link elements that have an href attribute
    • + +
    • bb elements whose type attribute is in a state whose + relevance is true
    • + +
    • button elements that are not disabled
    • + +
    • input elements whose type attribute are not in the + Hidden state and that + are not disabled
    • + +
    • select elements that are not disabled
    • + +
    • textarea elements that are not disabled
    • + +
    • command elements that do not have a disabled attribute
    • + +
    +

    The tabIndex DOM attribute must reflect the value of the tabindex content attribute. If the @@ -48693,9 +48740,19 @@ at the first element with the given ID must be treated as if it was cloned and r -

    User agents should run the unfocusing steps for an - element whenever the user moves the focus away from any - focusable element.

    +

    When the user moves the focus away from a focusable + element, the user agent should run the unfocusing steps + that element.

    + +

    When an element that is focused stops being a + focusable element, the user agent should run the + unfocusing steps that element.

    + +

    For example, this might happen because the + element is removed from its Document, or has a hidden attribute added. It would also + happen to an input element when the element gets disabled.

    Document-level focus APIs