Skip to content

Accessibility

uiify targets WCAG 2.2 AA with semantic HTML first and ARIA only when native elements are insufficient.

Native semantics first

Each component starts from the platform control that already has the right role and keyboard behavior: <button>, <dialog>, <details>, checkbox and radio inputs, and the Popover API. ARIA is the fallback.

Keyboard navigation

  • Activation — Enter and Space activate buttons and toggles; Space toggles checkboxes and switches.
  • Composite widgets — arrow keys move focus within menus, tabs, radio groups and toolbars; Home and End jump to the first and last item.
  • Overlays — Escape closes dialogs, popovers and menus and returns focus to the trigger.
  • Tab order — only interactive elements are tab stops; disabled controls are skipped.

Each component page lists its keyboard interactions.

Focus management

Modals trap focus while open and restore it on close. Popovers and menus use a roving tabindex on their items. Focus-visible styling belongs to your app CSS, using data-state and :focus-visible.

How this is verified

Each claim on this page is a release gate: zero axe violations in Chromium, Firefox and WebKit, and the no-JavaScript suite that Tier 0 components pass in full. See Proof