fix: improve QuickInput accessibility for screen readers#292339
Merged
meganrogge merged 1 commit intomicrosoft:mainfrom Feb 2, 2026
Merged
Conversation
- Remove redundant role=textbox and static ARIA attributes from QuickInputBox - Dynamically set aria-haspopup and aria-autocomplete only when list is active - Track state to avoid unnecessary attribute changes that cause re-announcements - Add picker.ariaLabel and item ariaLabel for Go to Line dialog - Improve post-navigation status announcement with line/column info This allows screen reader users to: - Type and edit text normally with arrow key navigation - Hear characters as they type in the input field - Get proper announcements when navigating list items Fixes screen reader accessibility in Ctrl+G Go to Line dialog.
📬 CODENOTIFYThe following users are being notified based on files changed in this PR: @TylerLeonhardtMatched files:
|
Contributor
Author
|
@meganrogge OK, here we go. Can you review this change please? |
Contributor
There was a problem hiding this comment.
Pull request overview
This PR improves screen reader accessibility for QuickInput and the Go to Line dialog by implementing dynamic ARIA attribute management and enhanced announcements.
Changes:
- Added dynamic ARIA attribute management that sets
aria-haspopupandaria-autocompleteonly when list items are active - Added descriptive aria labels for the Go to Line picker and its items to better inform screen reader users
- Enhanced status messages to include line and column numbers along with content
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| src/vs/platform/quickinput/browser/quickInputBox.ts | Adds setListFocusMode() method for dynamic ARIA attribute management and removes static ARIA attributes from constructor |
| src/vs/platform/quickinput/browser/quickInputController.ts | Integrates setListFocusMode() calls in list/tree focus handlers and keyboard events to toggle ARIA attributes based on list interaction state |
| src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.ts | Adds descriptive aria labels for the picker and individual items to improve screen reader announcements |
| src/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.ts | Enhances status message to include line, column, and content information for better navigation feedback |
Collaborator
|
@accesswatch thanks for the PR. With our PRs, our format is:
|
meganrogge
approved these changes
Feb 2, 2026
Collaborator
meganrogge
left a comment
There was a problem hiding this comment.
Thanks for working on this. It works for me on VoiceOver. Will leave with @TylerLeonhardt for the quick input review.
joaomoreno
approved these changes
Feb 2, 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.
Cherry-picked focused QuickInput accessibility fix (4 files):\n- src/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.ts\n- src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.ts\n- src/vs/platform/quickinput/browser/quickInputBox.ts\n- src/vs/platform/quickinput/browser/quickInputController.ts\n\nThis PR contains only the small, targeted accessibility changes to QuickInput and Go to Line dialog. Please review the four modified files; the branch was cleaned to remove unrelated changes.
fixes #292353