Brief Note on Application Keyboard Shortcuts
Identifying keyboard shortcuts for an application is mostly an internationalization problem. It’s also not a new problem. A recent (to me) example is the WordPress Gutenberg team starting to discuss keyboard shortcuts in 2017, addressing what will and won’t work across keyboards for different languages.
It’s a fascinating thread given all the international participation. It’s also outside the scope of this post.
Instead, this post is to tell you not to stress about what keys a screen reader uses. This is because screen readers have pass-through commands, which tell the screen reader to ignore the next key or combo and pass it through to the application (whether an installed application or the web browser running your application).
Windows desktop screen readers have explicit pass-through commands:
- NVDA
- NVDA + F2
- JAWS
- JAWS + 3
- Narrator (Microsoft has a poor method of selecting between Win10 and Win11 on that page, so the text link may not work)
- Narr + 3
Orca generally relies on a modifier key except in structural navigation, which you may need to disable (and is not the same as a pass-through):
- Toggle structural navigation
- Orca + Z
VoiceOver on macOS differs by requiring the modifier keys to execute commands. But if you enable Quick Nav to allow single key use, you may need to turn it off sometimes (also not a pass-through):
- Toggle single-key Quick Nav
- VO + Q
- Toggle arrow-key Quick Nav
- VO + Shift + Q
In each case, the screen reader modifier key (NVDA or VO, for example) represents the Caps Lock or Insert (depending on preferences and keyboard layout), and for VoiceOver are the Ctrl + Opt keys combined.
This, of course, assumes the screen reader audience for your application knows they exist. Not all screen reader users are expert screen reader users (imagine the same breakdown as with the general public and their computers). But this is stuff you would include in documentation and training (because you have documentation, right?) while also telling your developers and QA folks so they don’t file unnecessary bugs.
Leave a Comment or Response