Fix hover accessible view icons being read as "space" by screen readers #252347
+67
−1
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.
Screen readers were announcing "space" instead of meaningful text when focusing on icons in the hover accessible view toolbar. This occurred because the actions were rendered as icon-only buttons without proper accessibility labels.
Root Cause
The issue stemmed from how the WorkbenchToolBar renders actions by default:
{ icon: true, label: false }
creating icon-only buttonsaria-label
which is derived from the action's tooltiparia-label
could be missing or incorrectSolution
In
HoverAccessibleViewProvider._getActionFor()
, explicitly set the action's tooltip to ensure meaningful aria-labels:Technical Flow
ActionViewItem.updateAriaLabel()
uses tooltip foraria-label
Testing
Added comprehensive test coverage to verify actions have proper tooltips for accessibility.
The fix is minimal (3 lines) and maintains all existing functionality while ensuring screen readers properly announce "Increase Hover Verbosity" and "Decrease Hover Verbosity" for the respective toolbar icons.
Fixes #217974.
Warning
Firewall rules blocked me from connecting to one or more addresses
I tried to connect to the following addresses, but was blocked by firewall rules:
electronjs.org
node-gyp
(dns block)If you need me to access, download, or install something from one of these locations, you can either:
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.