-
Notifications
You must be signed in to change notification settings - Fork 58
A11y Bug 7396201: Implement proper ARIA listbox pattern for mode buttons to enable screen reader list announcement #605
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
Conversation
Removed aria-hidden="true" attribute from the listbox element in modeButtonSelector.tsx to allow screen readers like Narrator to announce the list of mode buttons (Full page, Region, Article, Bookmark) properly. This enables users with no vision to know they can use arrow keys to navigate between options instead of tab keys. Co-authored-by: aanchalbhansali <185747873+aanchalbhansali@users.noreply.github.com>
|
@copilot the fix is incorrect. Currently the narrator is announcing different clipping modes as individual buttons instead of options as list, please help fix that. |
Changed role="button" to role="option" in modeButton.tsx to properly implement the ARIA listbox pattern. A listbox container requires child elements with role="option" (not role="button") for screen readers to announce it as a list with selectable options. Co-authored-by: aanchalbhansali <185747873+aanchalbhansali@users.noreply.github.com>
Fixed in commit 5ed11a1. Changed |
|
@copilot why changes were made to package-lock.json file....please undo the changes |
Reverted package-lock.json to its original state. The graceful-fs version change was unintentional and occurred during npm install. Co-authored-by: aanchalbhansali <185747873+aanchalbhansali@users.noreply.github.com>
Accessibility Fix: Enable Narrator to announce mode buttons as a list
Summary:
Fixed accessibility issue where Narrator screen reader was not properly announcing the mode buttons (Full page, Region, Article, Bookmark) as a list with selectable options in the OneNote Web Clipper extension.
Changes Made:
aria-hidden="true"from the listbox container inmodeButtonSelector.tsxrole="button"torole="option"inmodeButton.tsxto properly implement ARIA listbox patternTechnical Details:
Root Cause: The ARIA listbox pattern was incomplete:
role="listbox"but witharia-hidden="true"preventing screen reader accessrole="button"instead of the requiredrole="option"for listbox semanticsFix:
aria-hidden="true"from line 157 inmodeButtonSelector.tsxrole="button"torole="option"on line 40 inmodeButton.tsxProper ARIA Listbox Pattern:
role="listbox"✓role="option"✓ (wasrole="button")aria-selected,aria-setsize, andaria-posinsetattributes ✓Impact:
Security Summary:
No security vulnerabilities were discovered or introduced by these changes.
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.