Keyboard navigation
Make sure that every interactive element is accessible without a mouse — Tab, Enter, arrow keys, Esc.
Function in one sentence — and in three sentences
WCAG Level A mandatory criterion: Every function must be operable via the keyboard. Sounds obvious—but it's rarely the case in practice. Custom sliders, dropdown menus, lightboxes, and filter buttons are frequent stumbling blocks.
The module checks the tab functionality of all interactive elements and adds missing keyboard handlers. Additionally, Keyboard traps detected and resolved.
Technical measures
- Tab-trap detection: detects when an element breaks the tab order (e.g., a modal without Esc closing).
- Retrofit Enter/Space handler for ``-Buttons with `role="button"`.
- Arrow navigation in tab lists, radio groups, menus.
- Esc handler for modals, tooltips, and off-canvas menus.
- Focus trap in the modalTab remains in the open dialog, it does not jump to the background.
In the plugin backendYou can find these settings in the module tab.
- Global Toggle
- Auto-handler for `role="button"` (Enter + Space)
- Focus trap in modals: off / only explicitly marked modals / all modals
- Esc listener depth: top modal only / all open modals
- Custom keyboard shortcuts per element (via `data-sp-key`)
Path in Admin: WP-Admin → Accessibility → Modules → Keyboard Navigation
When do you need the module?Use case
Mandatory module. Keyboard accessibility is a WCAG requirement at the lowest conformance level (A) — without this criterion no WCAG compliance, no matter how beautiful the rest of the page is.
Related modulesThat fits together thematically.
Tabindex Manager
WCAG 2.4.3Repairs the tab order, eliminates positive `tabindex` values, and fixes faulty jumps.
Visible focus
WCAG 2.4.11Provides a strong, always visible focus ring on all focusable elements — with AAA contrast.
ARIA Manager
WCAG 4.1.2Automatically assigns correct ARIA roles, states, and properties to interactive elements.
Activate the module for your site?
In the initial 15-minute consultation, we will clarify whether the module is relevant for your theme and content type — and what the setup looks like.