Manual testing
Accessibility testing can’t be accomplished with automation only. Keyboard and screen reader testing are important as well.
Some of the keyboard testing can be accomplished by:
- Using the Tab key to move forward through all the interactive elements (links, buttons, inputs, etc.)
- Using the Shift-Tab key to move backward through all the interactive elements
- Using the Arrows keys to navigate through page headings and paragraphs
- Ensuring that all functionality works using the keyboard only since some people are unable to use a mouse
- Ensuring that focus is always known, typically indicated with an outline around the focused interactive element. Make sure the focus moves left to right and top to bottom in a logical order
- Use headings and subheadings liberally and make sure each can be jumped to by using the “h” key in the logical top-down order
- Many screen reader users navigate with arrow keys more frequently than with tabbing. Always test with both to ensure that reading order is maintained and that menu and list elements are collapsed and expanded appropriately
- Use lists liberally and make sure each can be jumped to by using the “l” key in the logical top-down order
- Make sure each button control can be jumped to by using the “b” key in the logical top-down order
- Make sure that screen reader focus is returned to the same location where it was prior to executing an action with ENTER or SPACEBAR
- If you see more text on the screen than is articulated by the screen reader through tabbing and arrowing, then you likely have an accessibility issue
- If you hear more text articulated by the screen reader through tabbing and arrowing than is visible on the screen, then you likely have an accessibility issue
Additionally, we test our applications with the Non-Visual Desktop Access (NVDA) screen reader to ensure our digital content is accessible for users using a screen reader. For mobile testing, we use VoiceOver on iOS devices and TalkBack on Android devices to ensure the application functions as intended for all users.
Desktop screen readers (Windows)
Task | Command |
---|---|
Turn on NVDA | + + |
Turn off NVDA | + |
Stop reading | |
Start reading continuously from this point on | + DownArrow or Numpad Plus |
Read next item | Down Arrow |
Read next focusable item (e.g. link, button) | |
Activate link | |
Activate button | or |
Go to next heading | |
Go to next heading of level [1-6] | 1-6 |
List all headings | + |
Go to next landmark/region | |
Show list of all links, headings, and landmarks | + |
Go to next table | |
Navigate table cells | + + Arrow Keys |
Go to next list | |
Go to next list item | |
Go to next graphic | |
List all links | + |
Go to next link | |
Go to next unvisited link | |
Go to next visited link | |
Read entire foreground window (e.g. for dialogs) | + |
Announce title of the current foreground window | + |
Toggle between: radio buttons,<select> list items,tabs (ARIA widget),tree view items (ARIA widget),menu items (ARIA widget) | Arrow Keys |
Go back to previous heading, landmark, table, focusable item, etc. | + [H, D, T, Tab, etc.] |
Task | Command |
---|---|
Go Back a Page | + Left Arrow or |
Go Forward a Page | + Right Arrow |
Read Address Bar | + |
Next Link | |
Prior Link | + |
Open Link | |
List Frames | + F9 |
List Links | + F7 |
List Headings | + F6 |
Heading at Level | 1-6 |
Virtual HTML Features | + |
JAWS Find Next and Previous | and + |
Assign Custom Label | + + |
Desktop screen readers (MacOS)
Task | Command |
---|---|
Start (or stop) VoiceOver | + |
VoiceOver activation keys (or VO keys) | + |
Start reading | VO + |
Stop reading | |
Open rotor | VO + |
Activate link | or VO + |
Activate button | or + VO + |
Read next/previous item | VO + Right or Left Arrows |
Go to next heading | VO + | +
Go to next table | VO + | +
Navigate table cells | VO + Arrow Keys |
Go to previous (heading, table, etc.) | VO + | + + [H, T, etc.]
Interact with (go into/out of) objects (like iframes, menus, application regions, etc.) | VO + | + Down/Up Arrows