- 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
- Understanding Understanding document (opens in a new tab)
Related scenarios
- Element That Loses Focus the Instant It’s Reached
- Tabbing Into a Field That Opens a Modal Automatically
- Tabbing to a Menu Item That Auto-Navigates to Its Page
- Selecting an Option That Submits the Form Automatically
- Keyboard Focus Triggering an Unexpected Scroll Jump
- Tabbing Into a Field That Opens a Chat Widget