microsoft / microsoft/PowerToys

Accessibility: Missing KeyboardAccelerators for primary dialog actions (ZoomIt)

Open
#47,173 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

# Accessibility: Missing KeyboardAccelerators for primary dialog actions (ZoomIt-focused)

Problem (ZoomIt scope):
Some primary actions and dialog-invoking buttons in the ZoomIt settings do not expose or honor consistent `KeyboardAccelerator`/`AccessKey` behavior. This affects file/font pickers and quick action buttons used to configure ZoomIt features.

Impacted ZoomIt areas:
- `ZoomItPage.xaml` buttons that open pickers or execute actions: `ZoomIt_Type_Font_Button`, `ZoomIt_DemoType_File_BrowseButton`, `ZoomIt_Break_SoundFile_BrowseButton`, and similar action buttons inside ZoomIt cards.

How verified:
- Reviewed `ZoomItPage.xaml` and noted several buttons that launch pickers but lack documented accelerator bindings or mnemonic access keys.

End-user experience (ZoomIt):
- Keyboard-only users can operate ZoomIt settings but may face extra steps or inconsistent key behavior when confirming/cancelling pickers or activating pickers. This slows configuration and can block efficient workflows.

ZoomIt UI impact (PM view):
- Severity: Medium. Crucial configuration flows (font selection, file browse for demo/break) are less discoverable and slower for keyboard-only users, harming productivity and accessibility compliance.

Steps to reproduce (ZoomIt-focused):
1. Open `Settings -> ZoomIt`.
2. Navigate to Type Font or Demo Type card and activate the Browse/Font buttons with keyboard.
3. Verify whether Enter triggers accept and Esc cancels consistently in the opened pickers.

Proposed fix (ZoomIt-scoped):
- Add `KeyboardAccelerator` entries for common accept/cancel flows (Enter = accept, Esc = cancel) in ZoomIt pickers and ensure modal dialogs honor them.
- Add localized mnemonics (AccessKey) for prominent ZoomIt actions where helpful.
- Add small keyboard test cases covering ZoomIt pickers to CI or local test suites.

Acceptance criteria (ZoomIt):
- Enter accepts and Esc cancels consistently in ZoomIt pickers; primary ZoomIt actions expose discoverable accelerators or mnemonics.

Contributor guide

Open the contributing guide

Research direction

Start with ZoomItPage.xaml and inspect the named picker and action buttons, then reproduce the keyboard behavior from the listed ZoomIt settings flows. Compare Enter and Esc handling across the affected pickers and review how existing keyboard tests are structured. Done means ZoomIt pickers accept with Enter, cancel with Esc, and prominent actions expose discoverable accelerators or mnemonics with coverage added.

Written by the indexing model from the issue text.

Assessment

Domain
accessibility, desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.