microsoft / microsoft/PowerToys

Accessibility: Icon-only Buttons and FontIcons missing accessible names in ZoomIt settings

Open Beginner friendly
#47,170 0 comments 0 reactions 0 assignees View on GitHub
Product-ZoomIt
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.