- Success Criterion 2.1.2
- Conformance level A
Widget Where Tab Cycles Internally With No Way Out
2.1.2 — No Keyboard Trap
Scenario
Setting
A customer-support live-chat widget
What’s wrong
Focus loops inside a widget (calendar, editor, embedded iframe) where Tab cycles internally forever.
Example
A customer-support live-chat widget shows the problem clearly: focus loops inside a widget (calendar, editor, embedded iframe) where Tab cycles internally forever.
Why it matters
All keyboard and screen-reader users who can become stuck inside a component. In this case (a customer-support live-chat widget), they lose track of where they are on the page.
How to test
Tab repeatedly inside a widget (calendar, rich editor, embedded iframe): if Tab cycles internally forever with no way to exit to the rest of the page, it fails.
How to fix
Focus must always be able to leave the component using Tab/Shift+Tab or Esc (or a standard method the user is told about).
Outcome
Once corrected, a customer-support live-chat widget lets them keep track of where they are on the page.
Who is affected
All keyboard and screen-reader users who can become stuck inside a component.
Learn more
- Understanding Understanding document (opens in a new tab)
Related scenarios
- Keyboard Focus Stuck Inside an Embedded Plugin or Widget
- Modal Focus Trap With No Escape Key or Close Button
- Third-Party Embed That Captures and Never Releases Tab Focus
- Script That Yanks Focus Back Every Time the User Tabs Away
- Rich Text Editor That Captures Tab With No Documented Escape
- Autocomplete List That Keeps Recapturing Focus on Every Blur