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
Addressing changes in response to #1137
Adding an explicit `aria-atomic="true"` in Technique [ARIA22: Using
role=status to present status
messages](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA22) and the
linked examples (search results, shopping cart) since the default
behaviour of `role="status"` (reading the entire content of a changed
container marked with `role="status"`) is currently not well supported.
The change to search results example is actually unnecessary since the
entire content is written into the container and thus exposed. So not
sure whether it is better to skip that change, or change both examples
for consistency's sake.
Closes#1137
---------
Co-authored-by: Patrick H. Lauke <[email protected]>
Co-authored-by: Mike Gower <[email protected]>
Copy file name to clipboardexpand all lines: techniques/aria/ARIA22.html
+4-4
Original file line number
Diff line number
Diff line change
@@ -19,20 +19,20 @@ <h2>When to Use</h2>
19
19
<h2>Description</h2>
20
20
<p>
21
21
This technique uses the <code>status</code> role from the ARIA specification to notify Assistive Technologies (AT) when content has been updated with information about the user's or application's status. This is done by adding <code>role="status"</code> to the element that contains the <a>status message</a>. The aria live region role of <code>status</code> has an implicit <code>aria-live</code> value of <code>polite</code>, which allows a user to be notified via AT (such as a screen reader) when status messages are added. The role of <code>status</code> also has a default <code>aria-atomic</code> value of <code>true</code>, so that updates to the container marked with a role of <code>status</code> will result in the AT presenting the entire contents of the container to the user, including any author-defined labels (or additional nested elements). Such additional context can be critical where the status message text alone will not provide an equivalent to the visual experience. The content of the aria-live container is automatically read by the AT, without the AT having to focus on the place where the text is displayed. See <ahref="https://www.w3.org/TR/wai-aria/#status">WAI-ARIA status (role)</a> for more details.</p>
22
-
22
+
<p>Note that since <code>role="status"</code> is currently not treated as atomic by default in some environments, it is advisable to add an explicit <code>aria-atomic="true"</code> if the entire contents of the container should be announced.</p>
23
23
</section>
24
24
<sectionid="examples">
25
25
<h2>Examples</h2>
26
26
<sectionclass="example">
27
27
<h3>Including a search results message</h3>
28
28
<p>After a user presses a Search button, the page content is updated to include the results of the search, which are displayed in a section below the Search button. The change to content also includes the message <samp>"5 results returned"</samp> near the top of this new content. This text is given an appropriate role for a status message. A screen reader will announce "5 results returned".</p>
<pclass="working-example"><ahref="../../working-examples/aria-role-status-searchresults/">Working example: role=status on search results</a></p>
31
31
</section>
32
32
<sectionclass="example">
33
33
<h3>Updating the shopping cart status</h3>
34
-
<p>After a user presses an Add to Shopping Cart button, content near the Shopping Cart icon updates to read "1 items". The container for this text (in this case a <codeclass="language-html"><p></code>) is marked with the role of <codeclass="language-html">status</code>. Because it adds visual context, the shopping cart image — with succinct and accurate <codeclass="language-html">alt</code> text — is also placed in the container. Due to the default <codeclass="language-html">aria-atomic</code> value, a screen reader will announce "Shopping cart, six items".</p>
<p>After a user presses an Add to Shopping Cart button, content near the Shopping Cart icon updates to read "1 items". The container for this text (in this case a <codeclass="language-html"><p></code>) is marked with the role of <codeclass="language-html">status</code>. Because it adds visual context, the shopping cart image — with succinct and accurate <codeclass="language-html">alt</code> text — is also placed in the container. Due to the <codeclass="language-html">aria-atomic</code> value, a screen reader will announce "Shopping cart, six items".</p>
Copy file name to clipboardexpand all lines: working-examples/aria-role-status-shoppingcart/index.html
+1-1
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@
17
17
<h1>Using <code>role=status</code> to Provide Status Message on Shopping Cart</h1>
18
18
<p>This simple script demonstrates how a shopping cart counter is updated and surfaced using the aria <code>status</code> role. Here the role is placed on the paragraph containing the dynamically updated text, and the shopping cart image's alt provides additional context. Due to the default <code>aria-atomic="true"</code>, a screenreader should announce "Shopping Cart # items" or (depending on browser compatibility) "# items" each time the Buy Pink Flamingos button is selected.</p>
0 commit comments