microsoft / microsoft/PowerToys

Accessibility: Custom controls missing AutomationPeers / accessible names (ZoomIt)

Open
#47,175 1 comment 1 reaction 2 assignees View on GitHub

@niels9001 is already working on this.

Since Apr 23, 2026.

  • #47179 by @copilot-swe-agent — closed without merging
Area-Accessibility duplicate
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.