Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change aria-hidden=false to synonym of undefined #2090

Merged
merged 5 commits into from
May 2, 2024
Merged
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -11851,11 +11851,11 @@ <h2>Definitions of States and Properties (all aria-* attributes)</h2>
<div class="state" id="aria-hidden">
<sdef>aria-hidden</sdef>
<div class="state-description">
<p><a>Indicates</a> whether the <a>element</a> is exposed to an accessibility API. See related <sref>aria-disabled</sref>.</p>
<p><a>Indicates</a>, when set to true, that an <a>element</a> and its entire subtree are hidden from assistive technology, regardless of whether it's visibly rendered. See related <sref>aria-disabled</sref>.</p>
scottaohara marked this conversation as resolved.
Show resolved Hide resolved
<p>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 <code>display</code> property is set to <code>none</code> is not rendered. An element is considered [=element/hidden=] if it, or any of its ancestors are not rendered or have their <code>aria-hidden</code> attribute value set to <code>true</code>.</p>
<p>Authors MAY, with caution, use aria-hidden to hide visibly rendered content from assistive technologies <em>only</em> 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.</p>
<p>Authors MAY, with caution, use aria-hidden to hide visibly rendered content from assistive technologies <em>only</em> 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 MUST ensure that identical or equivalent meaning and functionality is exposed to assistive technologies.</p>
<p class="note">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…").</p>
<p class="note">At the time of this writing, <code><sref>aria-hidden</sref>="false"</code> is known to work inconsistently in browsers. As future implementations improve, use caution and test thoroughly before relying on this approach.</p>
<p class="note">As of ARIA 1.3, <code><sref>aria-hidden</sref>="false"</code> is now synonymous with <code>aria=hidden="undefined"</code>. This change was made due to inconsistent browser support for <code>false</code>, and the pervasiveness of user interfaces that rely on assuming <code>aria-hidden="false"</code> would not expose hidden content to the accessibility tree, though that was not the value's original intent.</p>
scottaohara marked this conversation as resolved.
Show resolved Hide resolved
scottaohara marked this conversation as resolved.
Show resolved Hide resolved
</div>
<table class="state-features">
<caption>Characteristics:</caption>
Expand Down Expand Up @@ -11895,7 +11895,7 @@ <h2>Definitions of States and Properties (all aria-* attributes)</h2>
<tbody>
<tr>
<th class="value-name" scope="row">false</th>
<td class="value-description">The element is exposed to the accessibility API as if it was rendered.</td>
<td class="value-description">The element's [=element/hidden=] state is determined by the user agent based on whether it is rendered. Synonym of <code>undefined</code>.</td>
</tr>
<tr>
<th class="value-name" scope="row">true</th>
Expand Down
Loading