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

Loader - Indicate live regions for dynamically changing content - (2036570575) 2 of 2 #6534

Closed
5 tasks done
Tracked by #4599
geospatialem opened this issue Feb 28, 2023 · 2 comments
Closed
5 tasks done
Tracked by #4599
Assignees
Labels
4 - verified Issues that have been released and confirmed resolved. a11y Issues related to Accessibility fixes or improvements. bug Bug reports for broken functionality. Issues should include a reproduction of the bug. c-loader Issues that pertain to the calcite-loader component estimate - 5 A few days of work, definitely requires updates to tests.

Comments

@geospatialem
Copy link
Member

geospatialem commented Feb 28, 2023

Module:

20a Loader - Spurred from #5587

Violation:

Indicate live regions for dynamically changing content

image

WCAG Reference:

Instance ID:

2036570575

Severity:

9

Description:

[Pattern: ARIA live region - Missing for loading indicator]

[Issue]
The loading indicator is not announced for screen reader users. Even though the role=progressbar is provided the loading message is not announced

Occurrences

Ensure all the following components are met when providing context through an aria-live region.

In 5587:
- [ ] 20a Loader
- [ ] 23a Panel
- [ ] 25b Scrim

Handed in this issue:

  • 09a Button
  • 09b Split Button
  • 14a Floating Action Button (FAB)
  • 15 Inline Editable
  • 18b Card

[User Impact]
Screen reader users will be unaware when the page is in a loading state.

[Code Reference]

<calcite-loader class="loading-in" aria-label="Loading" id="1179fac2-76b9-ac8d-9db7-4062b0d421a0" role="progressbar" active="" inline="" scale="m" calcite-hydrated="">
<div class="loader__svgs">
<svg class="loader__svg loader__svg--1" viewBox="0 0 16 16">
(...)
</svg>
</div>
</calcite-loader>

Note:

[Suggestion]
Indicate live regions for dynamically changing content. Live regions can be created by adding a role attribute set to "log", "status", "alert", "progressbar", "marquee", or "timer" as appropriate. Alternatively, custom behavior can be created by using the aria-live, aria-atomic, and aria-relevant attributes. Text injected into this live region element will be announced by screen readers.

Importantly, the element with the ARIA live attributes must be available when the page loads. Otherwise, many screen readers will not detect updates to the element. Additionally, the element must be empty on page load unless an immediate screen reader announcement is desired.

To create such a region:

  • Ensure that a visually hidden container <div> or <span> is present when the page loads. - Add aria-live="polite" attribute to this <div> or <span>
  • When the page is in a loading state, use JavaScript to inject text into this <div aria-live="polite"> that describes the loading behavior (e.g., "Loading").

[Compliant Code Example]

N/A

Media Type:

Live Regions

Additional Resources:

  • Report Source: Product accessibility evaluation conducted on the Calcite Design System in August, 2022.
@geospatialem geospatialem added bug Bug reports for broken functionality. Issues should include a reproduction of the bug. a11y Issues related to Accessibility fixes or improvements. 0 - new New issues that need assignment. estimate - 5 A few days of work, definitely requires updates to tests. labels Feb 28, 2023
@geospatialem geospatialem added this to the Freezer milestone Feb 28, 2023
@alisonailea alisonailea removed this from the Freezer milestone Mar 2, 2023
@macandcheese macandcheese added the c-loader Issues that pertain to the calcite-loader component label Mar 28, 2023
@anveshmekala anveshmekala self-assigned this Jun 28, 2023
@anveshmekala anveshmekala added 2 - in development Issues that are actively being worked on. and removed 0 - new New issues that need assignment. labels Jun 30, 2023
@geospatialem geospatialem added this to the 2023 August Priorities milestone Aug 3, 2023
@anveshmekala anveshmekala added 1 - assigned Issues that are assigned to a sprint and a team member. and removed 2 - in development Issues that are actively being worked on. labels Aug 10, 2023
jcfranco pushed a commit that referenced this issue Aug 15, 2023
…en loading (#7257)

**Related Issue:** #6534 

## Summary
Adds context for AT users when `loading` prop is set to `true` in the
following components.

-  calcite-button 
-  calcite-fab
-  calcite-inline-editable ( when `afterConfirm( )` is defined)
@geospatialem geospatialem added 3 - installed Issues that have been merged to master branch and are ready for final confirmation. and removed 1 - assigned Issues that are assigned to a sprint and a team member. labels Aug 15, 2023
@github-actions
Copy link
Contributor

Installed and assigned for verification.

@geospatialem geospatialem added 4 - verified Issues that have been released and confirmed resolved. and removed 3 - installed Issues that have been merged to master branch and are ready for final confirmation. labels Aug 15, 2023
@geospatialem
Copy link
Member Author

Verified in JAWS when the components are loading for:

  • button
  • split-button
  • fab
  • inline editable and
  • card

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
4 - verified Issues that have been released and confirmed resolved. a11y Issues related to Accessibility fixes or improvements. bug Bug reports for broken functionality. Issues should include a reproduction of the bug. c-loader Issues that pertain to the calcite-loader component estimate - 5 A few days of work, definitely requires updates to tests.
Projects
None yet
Development

No branches or pull requests

4 participants