Accessibility
The interaction contract components aim to preserve, separated from what the project has actually verified.
Keyboard and focus
- Base UI owns keyboard state machines for dialogs, menus, tabs, comboboxes, drawers, tooltips and related overlays.
- Visible focus rings are retained instead of being removed for visual cleanliness.
- Modal and overlay examples check Escape dismissal and focus return to the trigger.
- Carousels, resizable panels, command lists and menus keep their native or library keyboard model.
Semantics and state
- Form controls preserve explicit label, description, validation and disabled-state relationships.
- Persistent selection is exposed semantically and remains visually distinct from hover.
- Charts provide exact-data tables alongside visual marks, so SVG is not the only data representation.
- Duplicated Marquee content is hidden from assistive technology; Image Card retains figure and figcaption semantics.
Motion and visible state
- Reduced motion removes or shortens transitions without removing focus, pressed or selected state.
- Depth supports state and hierarchy; destructive or selected content also has other visible signals.
- Theme presets share semantic foreground/background tokens in light and dark modes.
Current verification
- Default CI checks documentation interactions in desktop-light and mobile-dark Chromium and installs representative Vite/Next.js consumers.
- Full local checks and the manual comprehensive workflow add Firefox/WebKit consumer checks and independent builds for every file-bearing registry item.
- Regression tests cover theme contrast constraints, generated equality, form composition and state recovery.
What is not certified
These checks are evidence, not exhaustive accessibility certification. They do not establish complete screen-reader behavior across every component state, real Korean/Japanese/Chinese IME composition, every touch gesture, or every preset/browser/assistive-technology combination.