Use native controls first
Buttons, links, inputs, selects, and dialogs provide behavior that custom roles must otherwise reproduce.
The release contract for inclusive semantics, input, perception, reflow, motion, and assistive technology behavior.
Core workflows operate with keyboard and screen reader alone.
Content remains usable at 200 percent zoom and 320 CSS pixels.
Component releases include automated and manual accessibility evidence.
WCAG 2.2 Level AA is the minimum. Native semantics and platform conventions are the starting point.
| Area | Minimum | Evidence |
|---|---|---|
| Contrast | 4.5:1 text, 3:1 large text and meaningful UI graphics | Theme-paired contrast audit |
| Keyboard | All actions reachable, operable, and escapable | Interaction tests plus manual pass |
| Focus | Visible, ordered, not obscured, restored after overlays | Both themes at desktop and mobile viewport |
| Touch | 44 by 44 CSS pixel target where practical | Rendered target inspection |
| Zoom and reflow | 200 percent zoom and 320 CSS pixel width without lost content | Manual browser matrix |
| Motion | Reduced-motion alternative and no unsafe flashing | Media query and behavior review |
| Names and roles | Programmatic name, role, value, state | Accessibility tree and screen reader |
Keyboard behavior follows the native element or established ARIA pattern, never a visual imitation.
Buttons, links, inputs, selects, and dialogs provide behavior that custom roles must otherwise reproduce.
Only active modal dialogs contain focus. Escape closes when cancellation is supported.
Closing transient UI restores focus to the trigger or the next logical workflow target.
Use live regions for asynchronous results that are not otherwise focused. Avoid repeated progress chatter.
| Pattern | Keys |
|---|---|
| Button and toggle | Enter and Space activate |
| Tabs | Arrow keys move; Home and End jump; focus and selection policy is documented |
| Menu | Arrow keys move; Enter selects; Escape closes and restores focus |
| Dialog | Tab cycles inside; Escape cancels when allowed |
| Slider | Arrow keys step; Page keys make larger changes; Home and End set bounds |
| Radio group | Arrow keys move and select within the group |
Information survives theme, forced colors, text spacing, zoom, and reduced motion.
Automation catches regressions. Manual evaluation confirms that the workflow is actually understandable.
Owner: Component author
Semantic markup, keyboard tests, labels, state announcements
Owner: Design Systems
Focus, contrast, zoom, reflow, reduced-motion evidence
Owner: QA or trained reviewer
VoiceOver/Safari plus NVDA/Firefox or equivalent workflow notes
Owner: Product team
Reported issue triage and regression coverage