microsoft / microsoft/PowerToys
Accessibility: Custom controls missing AutomationPeers / accessible names (ZoomIt)
@niels9001 is already working on this.
Since Apr 23, 2026.
- #47179 by @copilot-swe-agent — closed without merging
- Dominant language
- C
- Stars
- 139k
- Forks
- 8.6k
- PR merge metrics
- PR metrics pending
Description
# Accessibility: Custom controls missing automation peers or accessible names (ZoomIt-focused)
Problem (ZoomIt scope):
ZoomIt uses `ShortcutControl` and other composite controls that may not consistently expose `AutomationProperties.Name` or an `AutomationPeer` implementation. Without proper automation support, screen readers cannot expose control roles, values, or interactive patterns.
Impacted ZoomIt areas:
- `ShortcutControl` instances on `ZoomItPage.xaml` used for Zoom/LiveZoom/Draw/DemoType/Break/Record/Snip configuration.
- Any ZoomIt composite control that visually groups multiple interactive parts (e.g., shortcut value + edit button) but does not present a single, accessible automation node.
Steps to reproduce (ZoomIt-focused):
1. Open `Settings -> ZoomIt` in the Settings app.
2. Use Accessibility Insights or a screen reader to inspect a `ShortcutControl` element; confirm whether it has a `Name` and appropriate control pattern (Value/Invoke).
Acceptance criteria (ZoomIt):
- `ShortcutControl` elements in `ZoomItPage.xaml` are exposed in the automation tree with a meaningful `Name` and the control pattern(s) needed to read and edit their value.
Progress (concise):
- Work started on branch `fix/zoomit-accessibility` (local). Implementation commits will be linked from the PR when the branch is pushed.
- Test plan: `TEST_PLAN_ZOOMIT_ACCESSIBILITY.md` references automation-peer verification steps and UI test stubs.
- New findings (documented):
- Some composite controls lack a clear single automation node for value/edit operations; these cases will be listed in PR description rather than embedded here.
Notes:
- This issue will track verification and acceptance; implementation and commit details are kept in the PR to keep the issue focused on problem and criteria.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.