Skip to content

Fix Customizations view a11y: Home button focus + tile aria labels#314535

Open
meganrogge wants to merge 1 commit intomainfrom
merogge/fix-customizations-a11y
Open

Fix Customizations view a11y: Home button focus + tile aria labels#314535
meganrogge wants to merge 1 commit intomainfrom
merogge/fix-customizations-a11y

Conversation

@meganrogge
Copy link
Copy Markdown
Collaborator

Fixes #314173 and #314089.

#314173 — Home button doesn't focus content

showWelcomePage() now calls welcomePage.focus() after navigating, so activating the 🏠 Home button moves focus into the welcome page (the prompt input) instead of leaving focus on the button.

#314089 — Screen reader: title vs. description unclear

For list tiles in the agents/skills/instructions, MCP, and plugins lists, the aria label joined name and description with a comma — screen readers (e.g. Narrator) read "Ask answers questions without making changes" with no clear pause between title and description.

  • Replaced the , separator with . in the aria labels to produce a longer screen-reader pause.
  • Added the description to plugin list tile aria labels (previously only the name was announced).

Fixes #314173: Move focus into welcome page when Home button is activated.
Fixes #314089: Use period (longer screen-reader pause) between tile name
and description, and include description in plugin tile aria labels.
Copilot AI review requested due to automatic review settings May 5, 2026 20:14
@meganrogge meganrogge self-assigned this May 5, 2026
@meganrogge meganrogge added this to the 1.120.0 milestone May 5, 2026
@meganrogge meganrogge enabled auto-merge (squash) May 5, 2026 20:16
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 5, 2026

Screenshot Changes

Base: dc6e1f85 Current: 8fd33094

Changed (10)

chat/input/chatInput/Default/Light
Before After
before after
chat/input/chatInput/WithArtifacts/Dark
Before After
before after
chat/input/chatInput/WithArtifacts/Light
Before After
before after
chat/input/chatInput/WithFileChanges/Dark
Before After
before after
chat/input/chatInput/WithFileChanges/Light
Before After
before after
chat/input/chatInput/WithTodos/Light
Before After
before after
chat/input/chatInput/Full/Dark
Before After
before after
chat/input/chatInput/Full/Light
Before After
before after
chat/widget/chatWidget/SimpleQA/Light
Before After
before after
chat/widget/chatWidget/MultiTurn/Light
Before After
before after

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR improves accessibility in the AI Customizations management UI by ensuring focus moves into the welcome content when navigating “Home/Overview”, and by adjusting list tile aria labels to make title vs. description more clearly announced by screen readers.

Changes:

  • Move focus into the welcome page after showWelcomePage() navigation.
  • Update aria labels to separate title/description with a period for a clearer screen-reader pause.
  • Include plugin descriptions in plugin list tile aria labels (previously name-only).
Show a summary per file
File Description
src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.ts Adds description to plugin item aria labels and uses “. ” separator.
src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.ts Changes bridged MCP server aria label separator from “, ” to “. ”.
src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.ts Calls welcomePage.focus() when navigating back to the welcome page.
src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.ts Changes item aria label separator from “, ” to “. ” for clearer announcements.

Copilot's findings

  • Files reviewed: 4/4 changed files
  • Comments generated: 2

Comment on lines +604 to +607
const description = element.item.description;
return description
? localize('pluginItemAriaLabel', "{0}. {1}", element.item.name, description)
: element.item.name;
Comment on lines 692 to 694
const nameAndDesc = entry.item.description
? localize('itemAriaLabel', "{0}, {1}", entry.item.name, entry.item.description)
? localize('itemAriaLabel', "{0}. {1}", entry.item.name, entry.item.description)
: entry.item.name;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Home button doesn't cause focus of content in Customizations view

3 participants