diff --git a/index.html b/index.html index 553ea7f0b..04b1efc4a 100644 --- a/index.html +++ b/index.html @@ -11774,8 +11774,10 @@
Indicates, when set to true
, that an element and its entire subtree are hidden from assistive technology, regardless of whether it is visibly rendered.
User agents determine an element's [=element/hidden=] status based on whether it is rendered, and the rendering is usually controlled by CSS. For example, an element whose display
property is set to none
is not rendered. An element is considered [=element/hidden=] if it, or any of its ancestors are not rendered or have their aria-hidden
attribute value set to true
.
Authors MUST NOT use aria-hidden
to hide the root element or the host language element that represents the contents of the primary document in view. For instance, the html
or body
elements in an HTML document. Authors MAY, with caution, use aria-hidden
to hide visibly rendered content from assistive technologies only if the act of hiding this content is intended to improve the experience for users of assistive technologies by removing redundant or extraneous content. Authors using aria-hidden
to hide visible content from screen readers MUST ensure that identical or equivalent meaning and functionality is exposed to assistive technologies.
Authors are advised to use extreme caution and consider a wide range of disabilities when hiding visibly rendered content from assistive technologies. For example, a sighted, dexterity-impaired individual might use voice-controlled assistive technologies to access a visual interface. If an author hides visible link text "Go to checkout" and exposes similar, yet non-identical link text "Check out now" to the accessibility API, the user might be unable to access the interface they perceive using voice control software. Similar problems can also arise for screen reader users. For example, a sighted telephone support technician might attempt to have the blind screen reader user click the "Go to checkout" link, which they might be unable to find using a type-ahead item search ("Go to…"), since that text would have been hidden by the use of the attribute.
+Authors MUST NOT use aria-hidden
to hide the root element or the host language element that represents the contents of the primary document in view. For instance, the html
or body
elements in an HTML document. Authors MAY, with caution, use
Additionally, authors SHOULD ensure that any elements that are accessibility descendants of an aria-hidden element, or any elements which have been marked as aria-hidden themselves, are either prevented from receiving focus, or upon receiving focus use scripting to immediately move focus to another element.
+User Agents MUST ignore the aria-hidden state of any ancestor to the focused element from that point forward, resulting in the entire subtree to be exposed to assistive technologies. The ancestor aria-hidden markup will continue to be ignored, even once the element loses focus or is no longer focusable. User agents MAY provide console messages to warn or flag aria-hidden errors to developers.
+Authors are advised to use extreme caution and consider a wide range of disabilities when hiding visibly rendered content from assistive technologies. For example, a sighted, dexterity-impaired individual might use voice-controlled assistive technologies to access a visual interface. If an author hides visible link text "Go to checkout" and exposes similar, yet non-identical link text "Check out now" to the accessibility API, the user might be unable to access the interface they perceive using voice control. Similar problems can also arise for screen reader users. For example, a sighted telephone support technician might attempt to have the blind screen reader user click the "Go to checkout" link, which they might be unable to find using a type-ahead item search ("Go to…").
As of ARIA 1.3,
is now synonymous with aria-hidden="undefined"
.
The original intent for aria-hidden="false"
was to allow user agents to expose content that was otherwise hidden from the accessibility tree. However, due to ambiguity in the specification and inconsistent browser support for the false
value, the original intent is no longer supported.
To prevent authors erroneously hiding entire window-rendered documents only to those using assistive technology, user agents MUST NOT expose the hidden state to assistive technologies if it is specified on the root element or the host language element that represents the contents of the primary document in view. For instance, the html
or body
elements in an HTML document, or the root svg
element if it is rendered as its own primary document in the browser window. If authors were to specify aria-hidden="true"
on the opening tag for an embedded document, for instance on a math
or svg
embedded within an HTML document, user agents would still be expected to hide these elements from assistive technologies.
The following [=elements=] are not exposed via the accessibility API and user agents MUST NOT include them in the accessibility tree:
display:none
, visibility:hidden
, or the HTML hidden
attribute.display: none
, visibility: hidden
, the HTML hidden
attribute in its default state, or HTML's inert
attribute.If not already excluded from the accessibility tree per the above rules, user agents SHOULD NOT include the following elements in the accessibility tree:
true
. In other words, aria-hidden="true"
on a parent overrides aria-hidden="false"
on descendants.true
. In other words, aria-hidden="true"
on a parent overrides aria-hidden="false"
or aria-hidden="undefined"
on descendants.Any descendants of elements that have the characteristic "Children Presentational: True" unless the descendant is not allowed to be presentational because it meets one of the conditions for exception described in Presentational Roles Conflict Resolution. However, the text content of any excluded descendants is included.
Elements with the following roles have the characteristic "Children Presentational: True":