Skip to content
Anika Henke edited this page Oct 15, 2024 · 8 revisions

2.1.1 Keyboard

All functionality of the content is operable through a keyboard interface without requiring specific timings for individual keystrokes, except where the underlying function requires input that depends on the path of the user's movement and not just the endpoints.

When this is applicable

Always.

Check everything can be done using a keyboard

Check:

  • all interactive elements can be reached using standard keyboard navigation methods like tabbing and the arrow keys - this includes links, form elements and anything else that look interactive and can be used with a mouse
  • you can activate elements, typically with the Enter key - there is no need to activate all elements, just check two or three of the same type
  • everything can be reached in a scrollable area like an iframe or Twitter feed
  • all interactive elements work as intended

If the focus is not or barely visible, this would not fail this Success Criterion (although it would fail 2.4.7 Focus Visible), but you should still check if everything works. Use the Show tab focus bookmarklet or the Show keyboard focus bookmarklet to make the focus visible.

Exceptions

It's not a fail if:

  • the elements is provided by the browser (e.g. close button on tab)
  • things do not work without Javascript
  • input depends on the "path of the user's movement", for example writing a signature
  • you can tab to a visually hidden element - however, this might fail under 2.4.7 Focus Visible

WCAG does not specify that the keyboard method needs to be the most obvious one. It's not a fail if there is at least one way to perform the task or get the same result using the keyboard. This is okay because it counts as a "conforming alternate version".

Acceptable examples include where:

  • you can use the Esc key to close a box instead of tabbing to and using the Close button
  • there's an inaccessible menu at the top of the page, but the same link is also provided after the menu, as long as the inaccessibility of the menu doesn't prevent you from accessing the alternate link
  • using 'drag and drop' doesn't work with the keyboard but there are input fields you can use to change the order as well
  • there is a date picker which is not keyboard accessible but you can put the date directly into the form input
  • one of two print buttons work

Mobile app testing

Use an external keyboard.

Clone this wiki locally