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

section-alert: Improve announcements across screen readers #1893

Merged
merged 3 commits into from
Dec 3, 2024

Conversation

stowball
Copy link
Contributor

@stowball stowball commented Dec 2, 2024

The audt and my testing found that focusing the alert wasn't announcing it in JAWS and iOS 16.7.10 & 18 something, instead it just announced the graphic.

This change makes the alert a region, so not only does it appear in the landmarks menu (which is important since there is no heading to jump to), it improves the announcements across all screen readers. JAWS still doesn't announce it on the default setting, but changing to "high" does.

View preview

Checklist

Preflight

  • Prefix the PR title with the slug of the package or component - e.g. accordion: Updated padding or docs: Updated header links
  • Describe the changes clearly in the PR description
  • Read and check your code before tagging someone for review
  • Create a changeset file by running yarn changeset. Learn more about change management.

Testing

  • Manually test component in various modern browsers at various sizes (use Browserstack)
  • Manually test component in various devices (phone, tablet, desktop)
  • Manually test component using a keyboard
  • Manually test component using a screen reader
  • Manually tested in dark mode
  • Component meets Web Content Accessibility Guidelines (WCAG) 2.1 standards
  • Add any necessary unit tests (HTML validation, snapshots etc)
  • Run yarn test to ensure tests are passing. If required, run yarn test -u to update any generated snapshots.

Copy link

changeset-bot bot commented Dec 2, 2024

🦋 Changeset detected

Latest commit: 671eced

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@ag.ds-next/react Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@stowball stowball changed the title section-alert: Assign role & aria-label to improve announcements acro… section-alert: Improve announcements across screen readers Dec 2, 2024
Copy link
Contributor

github-actions bot commented Dec 2, 2024

PR Preview Action v1.4.8
Preview removed because the pull request was closed.
2024-12-03 06:05 UTC

width="24"
height="24"
viewBox="0 0 24 24"
aria-hidden={ariaHidden}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just alphabetising and adding id

aria-hidden="false"
aria-label="Success"
aria-label="Error, "
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🙏

'@ag.ds-next/react': minor
---

icon: Add `id` as allowed prop.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unused now, but it feels like it should still be added

}}
>
{icon}
<span css={visuallyHiddenStyles} id={toneId}>
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wanted to use aria-label, but there's no way of using it on a generic element that axe and ARC won't complain at. This means that iOS's virtual cursor is the size of the word and not the icon, but it's better than any alternative

alignItems="center"
aria-labelledby={`${toneId} ${titleId} ${children ? childrenId : ''}`}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wanted to use aria-describedby for childrenId, but that made things worse in NVDA (the first one I tested), so stopped trying that

Copy link

sonarcloud bot commented Dec 3, 2024

@stowball stowball merged commit 9b79bbd into develop Dec 3, 2024
8 checks passed
@stowball stowball deleted the a11y-improve-section-alert-announcement branch December 3, 2024 06:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants