microsoft / microsoft/PowerToys
Accessibility: Icon-only Buttons and FontIcons missing accessible names in ZoomIt settings
- Dominant language
- C
- Stars
- 139k
- Forks
- 8.6k
- PR merge metrics
- PR metrics pending
Description
**Problem**
Icon-only FontIcon header icons and several Button elements in Settings.UI/SettingsXAML/Views/ZoomItPage.xaml lack accessible names (`AutomationProperties.Name`), so screen readers cannot convey their purpose.
**Impact**
Screen reader users cannot determine the function of header icons or icon-only buttons (for example, font picker, demo file browse, break sound browse), reducing discoverability and blocking configuration tasks.
**Files / areas**
- Settings.UI/SettingsXAML/Views/ZoomItPage.xaml
- Icon-only header FontIcon in SettingsExpander headers
- Buttons such as ZoomIt_Type_Font_Button, ZoomIt_DemoType_File_BrowseButton, ZoomIt_Break_SoundFile_BrowseButton
**How to reproduce**
1. Open `Settings -> ZoomIt`.
2. Navigate with a screen reader (Narrator or NVDA) to header icons and icon-only buttons.
3. Observe that the controls are announced with no useful name or are silent.
**Proposed fix**
- Add localized `AutomationProperties.Name` to each actionable icon-only `Button` and `AppBarButton` in `ZoomItPage.xaml` (for example: `ZoomIt_Type_Font_Button` → "Select type font").
- If an icon is decorative only, set `AutomationProperties.AccessibilityView = "Raw"`.
- (Optional follow-up) Add a static/lint check to flag icon-only `Button` elements missing accessible names.
**Acceptance criteria**
- Screen reader announces clear names for all actionable icon-only buttons and header icons in the ZoomIt settings (e.g., "Select type font", "Browse demo file").
- Verification is possible with keyboard + NVDA/Narrator when focused.
**Notes**
- Strings should use `x:Uid` or resource bindings for localization.
Contributor guide
Research direction
Open Settings.UI/SettingsXAML/Views/ZoomItPage.xaml and inspect the listed icon-only headers and buttons, including ZoomIt_Type_Font_Button and the demo and break-sound browse buttons. Add localized accessible names to actionable controls and mark decorative icons as raw where appropriate. Verify with keyboard navigation and NVDA or Narrator that each actionable control has a clear announced name.
Written by the indexing model from the issue text.
Assessment
- Domain
- accessibility, desktop
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 78/100