Fix permission picker screen reader issues#321474
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR addresses two screen reader accessibility issues in the Copilot Chat Permission Picker/action widget lists by correcting aria-setsize/aria-posinset calculations (so separators/headers aren’t counted as items) and by exposing tooltip/hover text to assistive technologies via the computed ARIA label when no other descriptive text is provided.
Changes:
- Add custom
getSetSize/getPosInSetlogic to exclude non-action rows (headers/separators) from item counts. - Extend action list ARIA label generation to include hover/tooltip content when no
ariaDescription/descriptionexists.
Show a summary per file
| File | Description |
|---|---|
| src/vs/platform/actionWidget/browser/actionWidgetDropdown.ts | Adjusts list accessibility provider set size/position logic to exclude non-action rows from screen reader counts. |
| src/vs/platform/actionWidget/browser/actionList.ts | Appends hover/tooltip text to the computed ARIA label when no other description text is present. |
Copilot's findings
- Files reviewed: 2/2 changed files
- Comments generated: 2
aa20ef0 to
7b7bb34
Compare
Contributor
📬 CODENOTIFYThe following users are being notified based on files changed in this PR: @benibenjMatched files:
@kycutlerMatched files:
@jrualesMatched files:
@sandy081Matched files:
@lszomoruMatched files:
@anthonykim1Matched files:
|
bf90f81 to
7b7bb34
Compare
Fix two accessibility issues in the action widget dropdown used by the permission picker: 1. Screen reader announces incorrect position count (e.g. '5 of 5' instead of '4 of 4') because separators were included in aria-setsize/aria-posinset. Added getSetSize and getPosInSet to the accessibility provider to exclude non-action items from the count. 2. Screen reader does not announce hover tooltip text. Added hover.content to the aria label when no other description or ariaDescription is already present, so tooltip information is exposed to assistive technologies. Fixes #321403 Fixes #321415 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
7b7bb34 to
b7042b5
Compare
dmitrivMS
approved these changes
Jun 15, 2026
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
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.
Problem
Two accessibility issues with the Permission Picker combobox in Copilot chat:
Incorrect position count (Screen reader announces incorrect numeric position for list items in Permission Picker combobox:A11y_VisualStudioCode_Permissions levels in Copilot CLI_ScreenReader #321403): NVDA announces "5 of 5" when there are only 4 items (Default, Bypass, Autopilot, Learn More). The separator between the main items and Learn More was being counted in
aria-setsize/aria-posinset.Tooltip not announced (Screen reader does not announce tooltip associated with list items in Permission Picker combobox:A11y_VisualStudioCode_Permissions levels in Copilot CLI_ScreenReader #321415): Hover tooltip text associated with each permission level is not announced by screen readers. The tooltip content provides important context about each permission option.
Fix
actionWidgetDropdown.ts: AddedgetSetSizeandgetPosInSetto the accessibility provider to exclude separators and headers from the count. Now correctly announces "1 of 4", "2 of 4", etc.actionList.ts: EnhancedgetAriaLabelto includehover.contentin the aria label when no other description text (ariaDescriptionordescription) is already present, so the tooltip information is exposed to assistive technologies.Fixes #321403
Fixes #321415