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 verify Escape dismiss and focus return to the trigger.
  • Carousel, resizable panels, command lists and menus keep their native or library keyboard model.

Semantics and state

  • Form controls keep label, description, validation and disabled-state relationships explicit.
  • Persistent selection is exposed semantically and remains visually distinct from hover.
  • Charts provide exact-data tables next to visual marks instead of making SVG the only data representation.
  • Duplicated Marquee content is hidden from assistive technology; Image Card keeps figure and figcaption semantics.

Motion and visible state

  • Reduced motion removes or short-circuits transitions without removing focus, pressed or selected state.
  • Depth is used for state and hierarchy, not as the only signal for destructive or selected content.
  • Theme presets share one semantic foreground/background contract in light and dark modes.

Current verification

  • Installed Vite and Next.js consumers are exercised in Chromium, Firefox and WebKit.
  • Documentation runs desktop-light and mobile-dark interaction checks plus reflow and source-recovery checks.
  • Independent-item CI builds every file-bearing registry item in fresh projects.
  • 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-device gesture, or every preset/browser/assistive-technology combination.