Accessibility (a11y) concept page: WCAG 2.2 (POUR principles, A/AA/AAA), semantic HTML first vs ARIA last, keyboard navigation, focus management, screen readers (NVDA/VoiceOver/JAWS), skip links, aria-live regions, prefers-reduced-motion, three-tier audit pipeline (axe/Pa11y/Lighthouse + manual + real users), legal compliance (ADA Dominos v. Robles 2019, EAA 2025). 4 scenarios, 2 ADRs.
Accessibility — качество всей пользовательской задачи, а не атрибут одного компонента. Native HTML semantics, keyboard operation, visible focus, accessible names, status announcements, zoom/reflow и понятные errors должны работать вместе в реальном browser/assistive-technology сочетании.
WCAG 2.2 — нормативный стандарт conformance; ARIA APG — полезное, но informative руководство. ARIA может дополнить semantics сложного widget, но не добавляет keyboard behavior автоматически и не заменяет native element.
| Компонент | Роль в модели |
|---|---|
| Rendered Browser UI | expose semantics; operate and move focus; publish status; task execution |
| Semantic DOM and Accessibility Tree | expose semantics; query name role state; rule inspection |
| Keyboard and Focus Contract | operate and move focus |
| Assistive Technology | query name role state; receive status |
| Accessible Status Region | publish status; receive status |
| Automated Rule Checks | rule inspection; collect machine evidence |
| Human Task Tests | task execution; collect human evidence |
| Evidence-based Release Gate | collect machine evidence; collect human evidence |
A user traverses controls in logical order, opens a dialog, remains inside its intentional modal focus scope and returns focus to the invoking control after close.
Проверяемый исход: Every action is keyboard-operable, focus is visible, no trap exists, and focus return preserves context.
A native control supplies semantics. When a custom composite widget is unavoidable, implementation follows its complete keyboard and ARIA contract and is tested in supported combinations.
Проверяемый исход: Assistive technology receives the same purpose and current state conveyed visually; duplicated or conflicting labels are rejected.
Saving finishes without navigation. The page updates a suitable status region so screen-reader users receive success or error while focus stays on the working control.
Проверяемый исход: The message is perceivable without an unexpected context change and error recovery remains keyboard reachable.
CI runs deterministic rules, then humans execute critical tasks with keyboard, zoom/reflow and representative assistive technology. Findings are tied to WCAG criteria and user impact.
Проверяемый исход: A clean scanner cannot by itself release the experience; the gate records both machine and human evidence plus known support scope.
(Llighter + 0.05) / (Ldarker + 0.05): at least 4.5:1 for normal text and 3:1 for large text under the criterion definitions.critical_tasks_tested / critical_tasks_in_scope. Counting scanned DOM nodes is not a substitute for task coverage.Числа и bounds выше действуют только при названных units, population и assumptions. Ни паттерн, ни browser API сами по себе не задают SLA, capacity или correctness.
Диаграмма обучает архитектуре accessibility evidence. Она не является юридическим заключением, VPAT/ACR, полным WCAG audit или гарантией работы во всех assistive-technology combinations.
Введите числа или выберите пресет