Limit tab stops to meaningful interactive elements
For keyboard navigation in interactive data views, prefer limiting tab stops to meaningful interactive elements on charts and interactive tables to improve accessibility and mitigate tedious or nonfunctional focus stops for keyboard-only users.
- purpose:refine
- basis:accessibility
- quality:accessibility
- lever:interaction-access
- needs:keyboard-only
- access:keyboard:use
advice
Tab stop scope
Assign tab stops only to elements that act like buttons, links, or selectable features, and remove non-interactive marks from the Tab order. For example, give a dense chart one root tab stop and let keyboard controls enter deeper layers or sections instead of tabbing to every bar or point, and give a following data table a tab stop only when the table itself is interactive.
reason
Why limited tab stops work
A manageable focus path lets keyboard users reach actions in order without wading through inert marks or an excessive number of stops.
Mechanism: Restricting tab stops to actionable entry points preserves operability. A root focus stop with deeper keyboard navigation keeps dense charts explorable without turning every mark into a separate global stop.
Evidence: Chartability defines inappropriate tab stops as a common chart failure: interactive elements need tab stops, non-interactive elements must not, and dense charts should not give every interactive element its own tab stop unless focus is programmatically revealed (Elavsky et al., 2022). WCAG focus-order guidance requires focus to follow a sequence that preserves meaning and operability, and the referenced chart-component examples show a single-entry pattern for keyboard exploration of complex charts (W3C, n.d.; Chart Component Boilerplate – Observable, n.d.).
context
Use when keyboard focus could sprawl
- User Goal: Explore or operate a chart without a mouse.
- Task: Move focus through chart controls and any following data table.
- Data: The chart contains many marks or layered sections that could create long focus sequences.
- Chart Setting: The view includes interactive chart elements such as selectable features, buttons, or links, and may include a data table after the chart.
- Audience: People navigating by keyboard.
- Success Criterion: Focus reaches meaningful actions in a logical, manageable sequence.
exceptions
Do not apply as an absolute rule
Break it when: The chart is small, or deeper chart elements are only exposed after a single chart entry point reveals them programmatically. Why: The source allows individual interactive chart elements to have their own tab stops in those cases.
costs
Costs of limiting tab stops
Sacrifice: Direct Tab access to every individual mark. Risk: A single chart entry stop can hide deeper actions if no keyboard path enters later layers or sections. Mitigation: After the root tab stop receives focus, provide keyboard controls that move into the revealed chart layers or sections.
mistakes
Common tab stop failures
- Mistake: Give every chart mark a tab stop, including marks that are not interactive. Why it fails: Keyboard users must traverse a long series of stops that do nothing.
- Mistake: Put a succeeding data table in the Tab order when the table is not interactive. Why it fails: It adds focus stops without adding action.
check
Check the focus path
Failure Sign: Tabbing through the view lands on decorative or non-interactive chart elements, or requires a stop on every mark. Quick Check: Press Tab from the element before the chart to the element after it and confirm that only actionable features receive focus. Stronger Test: Enter the chart through its first focusable stop and verify that deeper layers or sections are reached with keyboard controls rather than extra global tab stops.
fix
Fix the Tab order
- Remove tab stops from non-interactive marks and non-interactive table elements.
- Keep tab stops on buttons, links, and selectable chart features.
- Replace per-mark tabbing in dense charts with a single root tab stop and keyboard controls that reveal deeper layers or sections.
- If a data table follows the chart, give it a tab stop only when the table itself is interactive.