microsoft / microsoft/PowerToys
Accessibility: Missing KeyboardAccelerators for primary dialog actions (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
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