Accessibility — remaining gaps
The Accessibility & IME guide covers what's
shipped: AccessKit tree sync, role mapping, role/ariaLabel props, and
IME composition. This page tracks what's genuinely still missing.
Tab-key focus cycling
Not started. There is no keyboard Tab/Shift+Tab traversal across focusable nodes.
Focus can be set programmatically, and a screen reader's own virtual cursor
can navigate the accessibility tree independently of this — but a sighted
keyboard-only user (or anyone tabbing through a form without a screen
reader running) has no way to move focus between Button/TextInput/
CheckBox/RadioButton/Switch/Link/ComboBox/Slider nodes today.
Plan: walk the same focusable-node set a11y.rs's is_focusable() already
computes for the AccessKit tree, in DOM-order equivalent (tree order),
maintaining a single "currently focused node id" that both Tab-cycling and
the AccessKit focus action write into — the same source of truth, two entry
points.
Unwired AccessKit actions
Action::Expand/Collapse, Action::ScrollIntoView, and text-selection
actions are not wired (only Focus/Click/Increment/Decrement/
SetValue for numeric values are). Lower priority than Tab-cycling —
these matter for collapsible sections and long lists specifically, not the
general keyboard-navigation case.
ariaLabel-adjacent hint prop
No equivalent of React Native's accessibilityHint — a longer description
alongside the accessible name, read by some screen readers on a longer
press/hover. Not implemented; not yet scoped.