Color and status
- Use
- Pair visual state with text, semantics, and non-color cues.
- Watch for
- Do not treat a token color or icon as accessibility evidence by itself.
Contracts
Accessibility baseline, evidence groups, contrast targets, and failure signals for generated interfaces.
Default accessibility target.
Core evidence groups.
Added when matching UI patterns appear.
Accessibility is reviewed as behavior and evidence, not as a visual style claim. Components, patterns, tokens, typography, and icons can support accessibility, but none of them replaces accessibility checks.
| Group | Requirements | Evidence |
|---|---|---|
readability_and_contrastreadability_and_contrast | normal text meets 4.5:1 and large text meets 3:1 contrast targets; meaningful non-text visual information meets 3:1 contrast against adjacent colors; text over rendered visual backgrounds uses browser-rendered or computed evidence | accessibility_evidence.visual_background_contrast, accessibility_evidence.non_text_contrast, accessibility_evidence.forced_colors |
keyboard_and_focuskeyboard_and_focus | all functionality has a keyboard path; focus order preserves meaning and operation; custom widgets honor expected WAI-ARIA APG keyboard behavior | accessibility_evidence.keyboard_navigation, accessibility_evidence.focus_order, accessibility_evidence.focus_visible, accessibility_evidence.focus_not_obscured, accessibility_evidence.no_keyboard_trap |
semantics_and_structuresemantics_and_structure | content structure uses semantic HTML or equivalent accessible structure; interactive controls expose accessible names, roles, states, and values | accessibility_evidence.semantic_content, accessibility_evidence.landmarks_headings, accessibility_evidence.name_role_value, accessibility_evidence.semantic_fallbacks |
forms_status_and_errorsforms_status_and_errors | inputs provide visible labels or instructions; detected input errors identify the field and describe the problem in text; status messages are programmatically determinable without requiring focus | accessibility_evidence.form_labels_instructions, accessibility_evidence.form_errors, accessibility_evidence.status_messages |
motion_media_and_timingmotion_media_and_timing | non-essential interaction-triggered animation can be disabled or follows reduced-motion preferences; auto-starting motion, blinking, scrolling, or updating content can be paused, stopped, hidden, or controlled; media includes captions, transcripts, audio descriptions, or equivalent alternatives when applicable | accessibility_evidence.reduced_motion, accessibility_evidence.pause_stop_hide, accessibility_evidence.media_alternatives |
responsive_and_inputresponsive_and_input | content reflows without two-dimensional scrolling at narrow widths unless two-dimensional layout is essential; pointer targets meet minimum target size or valid spacing/equivalent-control exceptions | accessibility_evidence.responsive_no_overflow, accessibility_evidence.reflow_zoom, accessibility_evidence.target_size |