Screen Reader Commands & Interaction Modes
Here are some tips and commands for using various screen readers, including Voiceover for MacOS and iOS, NVDA and JAWS on Windows, and Android:
VoiceOver for MacOS
- How to toggle on and off:
- Command (⌘) F5
- Fn Command (⌘) F5 on a laptop
- Using the VoiceOver Activation keys:
- Control + Option (VO)
- Navigating a page:
- Using the TAB / Shift+TAB keys. This will cycle through focusable elements.
- Using the Arrow keys. This will cycle through various pieces of content on the page, depending on the mode.
- While holding the VO keys, many other commands. See cheat sheet (opens in a new tab).
- Launching the VoiceOver Rotor:
- With VO enabled, hit VO + U. Use arrow keys to navigate sections.
- Use Escape to close as a convention.
- Silence with command key:
- Hold the command key while the screen reader is speaking to make it quiet immediately. Helpful for doing demos!
- Changing screen reader speaking rate
- In the VoiceOver Utility app under Speech, change rate for any voice available.
VoiceOver for desktop cheat sheet: https://dequeuniversity.com/screenreaders/voiceover-keyboard-shortcuts (opens in a new tab)
VoiceOver for iOS
On an iOS device, check out Settings > Accessibility to set up VoiceOver or Switch Control to launch with a triple tap of the power button.
VoiceOver for iOS cheat sheet: https://dequeuniversity.com/screenreaders/voiceover-ios-shortcuts (opens in a new tab)
NVDA and JAWS for Windows
NVDA (opens in a new tab) and JAWS (opens in a new tab) are popular screen readers on Windows.
How to set up NVDA on a Parallels Virtual Machine, which also requires a Windows license (opens in a new tab):
-
https://jerryjones.dev/2020/08/06/setting-up-nvda-on-parallels-with-macos/ (opens in a new tab)
-
NVDA cheat sheet: https://dequeuniversity.com/screenreaders/nvda-keyboard-shortcuts (opens in a new tab)
-
JAWS cheat sheet: https://dequeuniversity.com/assets/pdf/screenreaders/jaws.pdf (opens in a new tab)
Android Accessibility
- Tips for testing with Android: https://developer.android.com/guide/topics/ui/accessibility/testing (opens in a new tab)
- TalkBack cheat sheet: https://dequeuniversity.com/screenreaders/talkback-shortcuts (opens in a new tab)
Windows screen reader interaction modes
While VoiceOver works with plentiful multi-key combinations, NVDA and JAWS on Windows work differently. With simpler key commands, Windows screen readers also have a concept of interaction modes (opens in a new tab) that higher-level engineers should know about.
A form example
The default mode in NVDA, for example, is Browse Mode. This allows reading of content and cycling through headings with the H key, for example.
When you focus in a form input or contenteditable widget, the mode changes to Forms Mode a.k.a. Focus Mode. This allows you to type an H
in a field and it will pass that character to the browser rather than announcing the next heading. The screen reader will go in and out of this mode automatically, depending on element roles.
You can also swap modes manually using the key command NVDA
+ Space
(where NVDA
is the Insert
key on a Windows keyboard, unless it has been mapped to something else).
Use role=“application” with extreme caution
⚠️ There is also the ARIA application
role that puts a user directly into Focus mode. Be VERY careful about using this as you will essentially strip away Windows screen reader commands and keystrokes will be passed directly to the browser.
Before going to this as a solution, test with users who rely on screen readers all the time. It’s too easy to get this wrong. So I want to give you the biggest of cautions when it comes to the application
role.
Read more from Marco Zehe: https://www.marcozehe.de/if-you-use-the-wai-aria-role-application-please-do-so-wisely/ (opens in a new tab)