Agents sessions: accessibility help, scoped focus commands, and ARIA semantics#308339
Merged
meganrogge merged 4 commits intomainfrom Apr 7, 2026
Merged
Agents sessions: accessibility help, scoped focus commands, and ARIA semantics#308339meganrogge merged 4 commits intomainfrom
meganrogge merged 4 commits intomainfrom
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Improves accessibility in the Agents app (sessions window) by adding an accessibility help provider for the chat input, adding keyboard focus commands for key views, and strengthening ARIA semantics/labels across sessions UI components.
Changes:
- Added Sessions Chat accessibility help (Alt+F1) and a new verbosity setting
accessibility.verbosity.sessionsChatto control chat input ARIA hints. - Added focus actions/keybindings for Changes view, File Explorer, and Chat Customizations; improved focus behavior when Changes is empty.
- Added/updated ARIA labels/landmarks (auxiliary bar landmark label, workspace picker button, session list item labels with creation time).
Show a summary per file
| File | Description |
|---|---|
| src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.ts | Adds accessibility.verbosity.sessionsChat setting. |
| src/vs/sessions/contrib/sessions/browser/views/sessionsView.ts | Exposes a focus method for the customizations widget. |
| src/vs/sessions/contrib/sessions/browser/views/sessionsList.ts | Expands session item ARIA labels to include creation time. |
| src/vs/sessions/contrib/sessions/browser/aiCustomizationShortcutsWidget.ts | Adds a focus target for keyboard navigation into customizations header. |
| src/vs/sessions/contrib/chat/browser/sessionWorkspacePicker.ts | Adds ARIA labels guiding users to pick a workspace. |
| src/vs/sessions/contrib/chat/browser/sessionsChatAccessibilityHelp.ts | New accessible help content provider for sessions chat input. |
| src/vs/sessions/contrib/chat/browser/newChatViewPane.ts | Adds verbose ARIA label hinting accessibility help + setting-based updates. |
| src/vs/sessions/contrib/chat/browser/chat.contribution.ts | Registers the Sessions Chat accessible help provider. |
| src/vs/sessions/contrib/changes/browser/changesViewActions.ts | Adds focus commands/keybindings for Changes view and sessions file explorer. |
| src/vs/sessions/contrib/changes/browser/changesView.ts | Tweaks focus behavior for empty vs non-empty Changes tree. |
| src/vs/sessions/contrib/changes/browser/changesView.contribution.ts | Minor metadata formatting fix (trailing comma). |
| src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeView.ts | Introduces command ID constant for focusing customizations. |
| src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeView.contribution.ts | Registers Focus Chat Customizations action + keybinding. |
| src/vs/sessions/browser/parts/auxiliaryBarPart.ts | Adds landmark role/label to auxiliary bar container. |
| src/vs/platform/accessibility/browser/accessibleView.ts | Adds AccessibleViewProviderId.SessionsChat. |
Copilot's findings
Comments suppressed due to low confidence (1)
src/vs/sessions/contrib/changes/browser/changesView.ts:805
- In the empty-state branch, focus is moved to
this.elementbut nothing explicitly announces the empty state to screen readers (the welcome text isn't focused and there's noaria-live/ accessibility alert). If the intent is to "alert" that there are no changes when the view is focused, consider using an accessibility announcement (aria.alert(...)/IAccessibilityService.alert(...)) or focusing a dedicated empty-state element with an appropriate ARIA role/message.
if (this.tree && this.tree.getNode(null).visibleChildrenCount > 0) {
this.tree.domFocus();
} else {
if (this.element && !this.element.hasAttribute('tabindex')) {
this.element.setAttribute('tabindex', '0');
}
this.element.focus();
}
- Files reviewed: 15/15 changed files
- Comments generated: 3
src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeView.contribution.ts
Show resolved
Hide resolved
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copilot
AI
changed the title
Agents app: Accessibility help dialog, focus commands, and ARIA improvements
Agents sessions: accessibility help, scoped focus commands, and ARIA semantics
Apr 7, 2026
roblourens
approved these changes
Apr 7, 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.
fixes #308259
fixes #308258
fixes #308260
fixes #308265
fixes #308322
fixes #308327
This updates accessibility behavior in the Sessions window: adds a dedicated accessibility help surface for chat input, hardens focus-command scoping, and improves ARIA semantics/labels across key UI surfaces. It also aligns keyboard navigation feedback for empty Changes view states.
Accessibility help + verbosity control
Alt+F1) with Sessions-specific keybinding guidance.accessibility.verbosity.sessionsChatto control chat input hint announcements.Focus command behavior
IsSessionsWindowContext) to avoid global shortcut conflicts.ARIA and landmark improvements
role="complementary"+ label).aria-label."No changes"when focusing an empty Changes view.