• Success Criterion 2.4.3
  • Conformance level A

One Control Creating Two Separate Keyboard Tab Stops

2.4.3 — Focus Order

Scenario

Setting

A ride-hailing app's trip booking screen

What’s wrong

One control generating multiple consecutive tab stops (anchor wrapping a button, duplicated tabindex (keyboard-focus setting)) so focus lands twice on the same element.

Example

.field-3 { order: 1; } .field-1 { order: 3; } /* tab order scrambled by CSS */

Why it matters

Keyboard and screen-reader users who follow focus rather than the pointer.

How to test

Tab through a single control (e.g., an anchor wrapping a button): if it produces two separate tab stops instead of one, it fails.

How to fix

Ensure each control is exactly one tab stop (no focusable wrappers around focusable children).

<!-- Reorder the actual DOM nodes to match the intended focus sequence -->

Focus order should follow a sequence that preserves meaning, matching how the content is meant to be read.

Outcome

On a ride-hailing app's trip booking screen, this barrier is gone for keyboard and screen-reader users who follow focus rather than the pointer — they can complete the task without hitting this wall.

Who is affected

Keyboard and screen-reader users who follow focus rather than the pointer.

Learn more