microsoft / terminal

The new Windows Terminal and the original Windows console host, all in the same place!
MIT License
94.99k stars 8.22k forks source link

[Terminal> Set tab color]: 'Custom' control name is not descriptive, and role defined is incorrect. #12045

Open ghost opened 2 years ago

ghost commented 2 years ago

Windows Terminal version

1.12.3472.0

Windows build number

10.0.22504.1010

Other Software

Test Environment: OS: Windows 11 Version Dev (OS Build 22504.1010) App: Windows Terminal Preview Screen Reader: Narrator Tool: Accessibility Insights for Windows Version 1.1.1741.1

Steps to reproduce

Repro Steps:

  1. Open Windows Terminal.
  2. Open Settings page using 'Ctr+,'.
  3. Activate 'Actions' tab and then Add a new actions 'Set tab color' with shortcut key 'Ctrl + Shift + c'.
  4. Open Narrator using 'Win + Ctrl + Enter' keys.
  5. navigate inside Terminal window.
  6. Press 'Ctrl + Shift + c' keys, then navigate to 'Custom' control inside Set tab color pop-up using tab key.
  7. Observe the issues.

User Experience: Screen Reader users UX will not be good as control name is not descriptive so they will not be able to know the purpose of controls also role properties does not match visual structure.

Guideline Reference: https://www.w3.org/WAI/WCAG21/Understanding/name-role-value

Attachments: 'Custom' control name is not descriptive, and role defined is incorrect. (2).zip

Expected Behavior

'Custom' ontrol name should be more descriptive, and correct role should be defined. .i.e. For Collapsed 'Custom' control Screen Reader should announce 'Custom Tab Colors button Collapsed' and For Expanded 'Custom' control Screen Reader should announce 'Custom Tab Colors button Expanded'

Actual Behavior

'Custom' control name is not descriptive, and role defined is incorrect. i.e. For Collapsed 'Custom' control Screen Reader should announce 'Custom Button off' and For Expanded 'Custom' control Screen Reader should announce 'Custom Button On'

Observation: Issue repro with NVDA and JAWS Screen Reader.

carlos-zamora commented 2 years ago

We're using the ColorPickupFlyout, which is a custom control. So I'm guessing we need to create a custom automation peer for this. I've done this before for the TermControlAutomationPeer, so it shouldn't be difficult to do, just annoying haha. I'm betting this'll close most of the "Terminal > Set tab color" a11y sev3s we have too.

carlos-zamora commented 2 years ago

13552 will "fix" this by removing the "Custom" button entirely.