[Navigation] Add ariaLabelledBy prop in order to add menu label for screen readers #4343
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.
WHY are these changes introduced?
Fixes #4289
Fixes Shopify/handshake-discovery-team#247
Currently it's not possible to pass a label to the Navigation component that can be used to differentiate this
navfrom other nav when navigating with landmarks.This PR is adding a way to generate the following output (described here: https://www.w3.org/WAI/tutorials/menus/structure/#label-menus):
From this implementation:
WHAT is this pull request doing?
Adds
ariaLabelledByprops toNavigationcomponent. It is then passed asaria-labelledbyproperty to the<nav>element.How to 🎩
🖥 Local development instructions
🗒 General tophatting guidelines
📄 Changelog guidelines
Copy-paste this code in
playground/Playground.tsx:Tophat instructions:
1. Inspect the the HTML output:
<nav>2. Use landmark navigation
🎩 checklist
README.mdwith documentation changes