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.

A Mac keyboard with a hand contorting its fingers to as it presses Control, Option, Caps Lock, and a fourth finger is reaching for the J.
Sight gag for my old joke that navigating text fields in NVDA and JAWS is just pressing E, but in VoiceOver it’s pressing Caps Lock + Ctrl + Option + + J.

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.

No comments? Be the first!

Leave a Comment or Response

  • The form doesn’t support Markdown.
  • This form allows limited HTML.
  • Allowed HTML elements are <a href>, <blockquote>, <code>, <del>, <em>, <ins>, <q>, <strong>, and maybe some others. WordPress is fickle and randomly blocks or allows some.
  • If you want to include HTML examples in your comment, then HTML encode them. E.g. <code>&lt;div&gt;</code> (you can copy and paste that chunk).