1.4. Allow scripts to be controlled using both the mouse and the keyboard

Whenever a script is controlled by the mouse, it must also be possible to control it with the keyboard, and vice versa.

In other words, each time the mouse can be used to control a script, using an element such as a link or button, the user must be able to:

Warning

Whenever possible, use generic event listeners rather than specific ones for a keyboard button. For example, use onfocus/onblur rather than onkeydown.

This is important because keyboard shortcuts are not always the same on different systems and browsers. For example, in the Opera browser, the Shift key, together with the arrow keys, allows the user to navigate from one link to another. However, most other browsers use the Tab key for this shortcut.

Note

It is very important to avoid keyboard traps. Keyboard traps block a user who navigates with the keyboard, because they prevent interaction with specific zones on the page.

Keyboard traps arise when a user is blocked on a page when navigating with a keyboard:

  • Either because an element prevents the user from moving the focus to the previous or next interactive element.
  • Or because an element does not let the user move on from the current focus, once it is applied to an element.

Each time that scripts are used on a page, make sure they do not contain keyboard traps by running a simple test on the interface with the keyboard.