• Success Criterion 3.2.1
  • Conformance level A

Autofocus Chain That Jumps Focus From One Field to Another

3.2.1 — On Focus

Scenario

Setting

A hospital's patient portal appointment scheduler

What’s wrong

Autofocus chains: focusing field A programmatically jumping focus to field B.

Example

<select onfocus="submitForm()">

Why it matters

Keyboard and screen-reader users, and people who are easily disoriented by surprise UI changes.

How to test

Tab to field A and stop: if focus programmatically jumps to field B without any user action, it fails.

How to fix

Receiving keyboard focus must cause no change — no activation, selection, navigation, popup, or focus jump.

<select onchange="updatePreview()"></select>
<button onclick="submitForm()">Apply</button>

Simply moving focus into a control must never trigger a context change like submission or navigation.

Outcome

On a hospital's patient portal appointment scheduler, this barrier is gone for keyboard and screen-reader users — they no longer have to work around this.

Who is affected

Keyboard and screen-reader users, and people who are easily disoriented by surprise UI changes.

Learn more