- Success Criterion 2.4.3
- Conformance level A
Visual Layout Order That Doesn’t Match the Keyboard Tab Order
2.4.3 — Focus Order
Scenario
Setting
A nonprofit's donation form
What’s wrong
Visual layout (CSS order/grid) diverges from page code (DOM) so Tab jumps around the page illogically.
Example
.donation-form { display: flex; }
.amount-field { order: 2; }
.donor-name-field { order: 1; }
.payment-field { order: 3; }
<!-- DOM order is amount, name, payment, but CSS order visually shows name first --> Why it matters
A sighted keyboard user watches focus jump to the amount field before the name field they see listed first, filling fields out of sequence.
How to test
Compare visual layout order to DOM order (View Source or DevTools): if CSS order/grid-placement reorders content visually without matching DOM order, Tab jumps around illogically.
How to fix
CSS order only changes paint order, not tab order; keep DOM order aligned with the intended reading order.
<div class="donor-name-field">...</div>
<div class="amount-field">...</div>
<div class="payment-field">...</div> Outcome
A donor tabs through name, amount, then payment in the exact order they see on screen.
Who is affected
Sighted keyboard users experience a mismatch between what they see on screen and where focus actually lands.
Learn more
- Understanding Understanding document (opens in a new tab)
Related scenarios
- Tab Order That Jumps Around the Page Illogically
- Dialog That Opens Far From the Button That Triggered It
- Modal That Opens Without Moving Keyboard Focus Into It
- Modal That Closes Without Returning Focus to Its Trigger
- Expanded Content That Never Receives Keyboard Focus
- Hidden Navigation Items That Are Still Reachable by Tab