Skip to content

Accessibility (A11y)

OAS-ISUI targets WCAG 2.1 AA and is continuously audited with axe.

Automated audits

Playwright + axe-core audit every component demo page; zero serious violations is the passing standard:

bash
pnpm test:e2e

The audits cover the wcag2a / wcag2aa / wcag21aa rule sets and only check the component demo area (.demo).

Keyboard flow regression matrix

ComponentKeyboard behaviorRole/ARIA
ButtonEnter/Space triggersbutton
Input / TextareaNative inputtextbox + label
Checkbox / Radio / SwitchSpace toggles, arrow keys (Radio)checkbox / radio / switch
SliderArrow keys + Home/Endslider (aria-valuenow)
InputNumberArrow keys inc/dec, Home/Endspinbutton
RateArrow keys, Enter confirmsradiogroup + radio
Select / AutoComplete / Cascader / TreeSelectArrow navigation, Enter selects, Esc closescombobox + listbox/tree
Menu / Dropdown / ContextMenuArrow keys, Home/End, Entermenu + menuitemradio
TabsArrow keys cycletablist + tab + aria-selected
TreeArrow keys + Left/Right expand/collapsetree + treeitem
Modal / Drawer / ConfirmTab focus trapped, Esc closesdialog + aria-modal
Tooltip / Popover / HoverCardEsc closestooltip / dialog
PaginationTab to page buttonsSemantic buttons + aria-current
CarouselIndicators tabbablerole="tablist" + role="tab"
CollapseHeader tabbable + Enter/Space togglesButton semantics
SplitterArrow keys adjustseparator + aria-orientation

Semantic principles

  • Every form control has an accessible name (aria-label or an associated label)
  • Overlay components provide role + aria-modal + Esc to close
  • Dynamic regions (loading / opening dialogs) provide aria-live or focus management
  • Colors only use semantic tokens to keep contrast valid in both themes