-
Notifications
You must be signed in to change notification settings - Fork 30
fix(aria-controls): adding aria-controls to expandable elements #3069
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
Draft
LinKCoding
wants to merge
37
commits into
main
Choose a base branch
from
kl-gm-1006-aria-controls
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
View your CI Pipeline Execution ↗ for commit b719c11.
☁️ Nx Cloud last updated this comment at |
4 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
NOTE:
Making this PR with this branch to preserve the work for aria-controls. Original ticket was GM-1006 but in finding out certain components were failing Axe tests (disclosure), it seemed safer to split out the aria-expanded and aria-controls work into separate PRs.
Overview
Components that expand other components should have both
aria-expands
andaria-controls
attributes.Components that are being expanded/controlled by another component should have an
id
that matches the value of thearia-controls
attribute.The
aria-expanded
attribute denotes if the expandable component is expanded or not.When using Voiceover, an element with an


aria-expanded
attribute, should announce if the element is "expanded" or "collapsed".expanded example:
collapsed example:
Voiceover does NOT announce the
aria-controls
value though, see this reference.This PR adds these attributes to:
—
* Disclosure only has an
aria-expanded
addition b.c. the inability to checkaria-controls
and the questionable interaction it might have with conditionally setting thearia-controls
value.** Since Drawer + Flyout are the expanded components, they're being provided an
id
prop.New guidance around adding the correct aria attributes to the controlling element is included in both Drawer and Flyout stories.
For example, here's how InfoTag looks like.

Where the button has
aria-controls=":rg:"
and the expanded span has anid=":rg:"
.And the button also has
aria-expanded="true"
, because the component is expanded.PR Checklist
Testing Instructions
aria-expanded
and anaria-controls
aria-controls
matches theid
of the expanded component flyout/drawer.aria-expanded
and anaria-controls
aria-controls
matches theid
of the expanded component. (N/A for Disclosure).PR Links and Envs