Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Editor: Manual testing using keyboard and screen reader #4018

Closed
swissspidy opened this issue Aug 17, 2020 · 3 comments
Closed

Editor: Manual testing using keyboard and screen reader #4018

swissspidy opened this issue Aug 17, 2020 · 3 comments
Assignees
Labels
Accessibility Changes that impact accessibility and need corresponding review (e.g. markup changes). Group: Editing Main editing features P0 Critical, drop everything Type: Task Tasks which do not involve engineering

Comments

@swissspidy
Copy link
Collaborator

Task Description

The editor and the dashboard need to be usable via keyboard and have sufficient screen reader support. In a first step, we need to thoroughly test the current behavior. This way, we can uncover many low-hanging fruits that we can subsequently address.

We want to fix the biggest issues in this area so that we can kick-off a full accessibility review afterwards that will actually result in useful feedback. As long as we have many well-known issues, such a review does not make sense though.

Note: Testing should be done by engineers as they have the necessary context for how the app is built and which issues are to be expected.

@swissspidy swissspidy added Accessibility Changes that impact accessibility and need corresponding review (e.g. markup changes). Type: Task Tasks which do not involve engineering Group: Dashboard Group: Editing Main editing features Pod: Prometheus (Workspace) and removed Group: Dashboard labels Aug 17, 2020
@swissspidy
Copy link
Collaborator Author

swissspidy commented Aug 20, 2020

@swissspidy swissspidy added the P0 Critical, drop everything label Aug 20, 2020
@swissspidy
Copy link
Collaborator Author

As the ticket says, this will involve testing the editor using keyboard only, and finding out which parts of the editor can and cannot be interacted with, and how screen readers announce changes when doing so.

If not familiar with the resources above, there's also a quick guide at https://rianrietveld.com/2016/05/keyboard/ that covers the basic of testing keyboard navigation.

Reminder: this exercise is for us to find the most pressing issues, and also get some familiarity for testing using the keyboard in the future. We're not the a11y pros here, and we'll leave the more extensive testing to the experts later.

Screen reader recommendations:

macOS: VoiceOver (built-in)
Windows: NVDA (free)
ChromeOS: ChromeVox
Browser: ChromeVox Classic (no longer supported, so use with care, and perhaps only in combination with NVDA/VoiceOver

VoiceOver

On a MacBook, press CMDF5 to enable VoiceOver. You can configure VoiceOver using the built-in VoiceOver Utility.

Navigation: Control + Option is the VoiceOver key.

Key Behavior
VoiceOver key + left/right arrow move around the page
VoiceOver key + command + H skip to headings
VoiceOver key + command + J skip to the next control
Control stop verbalization
VoiceOver key + H > H display a full list of shortcuts
VoiceOver key + U open rotor (which allows you to customize navigation and focus on browser content inside Chrome)
VoiceOver key + Space interact with an element

Note: make sure to enable full keyboard access in the macOS system prefs.

NVDA

To configure NVDA, press Insert + N or Caps Lock + N and navigate to Preferences.

Key Behavior
NVDA key + Arrow move around the page
NVDA key + H skip to headings
NVDA key + B skip to buttons
Control stop verbalization

More shortcuts can be found at https://webaim.org/resources/shortcuts/nvda

General Info

Interaction Modes:

There are two different interaction modes that a screen reader can be navigating in: forms mode and application mode. If keys suddenly stop doing what you expect them to do, you may have unintentionally triggered a mode switch. You likely should restart your screen reader.

See https://tink.uk/understanding-screen-reader-interaction-modes/

Accessibility Tree

The browser converts the DOM tree into an accessibility tree, which is what screen readers interact with. In Chrome, you can view the accessibility tree for easier debugging by going to chrome://accessibility. You can also inspect it in more detail with this extension: https://chrome.google.com/webstore/detail/automation-inspector-exte/magknkflhkbbjaalinnipadaihkbghoc

@barklund barklund self-assigned this Aug 21, 2020
@bmattb bmattb added this to the Sprint 36 milestone Aug 24, 2020
@barklund
Copy link
Contributor

I have created a number of tickets from this review all linked to the epic #117.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Accessibility Changes that impact accessibility and need corresponding review (e.g. markup changes). Group: Editing Main editing features P0 Critical, drop everything Type: Task Tasks which do not involve engineering
Projects
None yet
Development

No branches or pull requests

3 participants