Доступность frontend-приложений¶
Требования этого документа применяются к доступности (accessibility)
пользовательского результата frontend-приложений профилей CSR, SSR, SSG и edge
по frontend/rendering-profiles.md. Уровни обязательности определены в корневом
README.md.
FE-AXS-001. Соответствие WCAG 2.2 AA¶
Уровень: MUST
Применяется к: публичным и клиентским пользовательским сценариям
Пользовательский результат должен соответствовать WCAG 2.2 от 12 декабря 2024 года на уровнях A и AA для применимых критериев.
Обоснование¶
Зафиксированная версия стандарта и уровень делают результат проверяемым.
Проверка¶
- автоматические и ручные проверки применимых критериев;
- сопоставление результата с требованиями заказчика и законодательства;
- проверка критичных пользовательских сценариев.
Исключения¶
Отклонение от отдельного критерия требует ADR с затронутыми сценариями, компенсирующей мерой, владельцем и сроком устранения.
FE-AXS-005. Доступность внутренних интерфейсов¶
Уровень: SHOULD
Применяется к: внутренним и административным пользовательским сценариям, для которых WCAG 2.2 AA не установлен законом или контрактом
Пользовательскому результату следует соответствовать WCAG 2.2 на уровнях A и AA для применимых критериев. Проекту следует в первую очередь проверять сценарии, необходимые пользователям вспомогательных технологий.
Обоснование¶
Доступность внутренних инструментов сохраняет рабочие возможности сотрудников, но объём проверки может определяться фактическими пользователями и риском.
Проверка¶
- автоматические проверки применимых критериев;
- проверка сценариев с клавиатурой и вспомогательной технологией;
- фиксация непокрытых критериев и приоритета устранения.
Исключения¶
Если доступность обязательна по закону, трудовому или иному контракту,
применяется FE-AXS-001.
FE-AXS-002. Семантическая разметка и управление с клавиатуры¶
Уровень: MUST
Применяется к: интерфейсу приложения
Интерактивные элементы должны использовать семантическую разметку и быть достижимы и управляемы с клавиатуры. Видимый порядок фокуса и порядок DOM должны быть согласованны, а видимое состояние фокуса — различимо.
Запрещено управлять интерактивным поведением только устройством указания или только атрибутом без соответствующей семантики и роли.
Обоснование¶
Семантика и управление с клавиатуры — основа доступа вспомогательных технологий; это требуется уровнем A WCAG.
Проверка¶
- тест навигации с клавиатуры по каждому экрану;
- автоматическая проверка семантических ролей;
- review порядка фокуса и видимости состояния фокуса.
Исключения¶
Пользовательский виджет сложной семантики требует проверенной реализации паттерна WAI-ARIA и отдельного теста.
FE-AXS-003. Автоматизированные проверки в CI¶
Уровень: MUST
Применяется к: компонентам и страницам приложения
CI должен выполнять автоматизированные проверки доступности на репрезентативных компонентах и страницах. Проверка одного критерия на компонентном и e2e-уровнях одновременно не требуется, если более дешёвый уровень надёжно обнаруживает нарушение. Известные нарушения уровня цели соответствия должны блокировать поставку либо иметь ограниченное по сроку исключение.
Автоматизация покрывает подмножество критериев и не является доказательством полного соответствия WCAG.
Обоснование¶
Автоматический gate обнаруживает типичные нарушения до поставки и предотвращает регрессию.
Проверка¶
- review выбранных страниц, компонентов и конфигурации проверок в CI;
- проверка срабатывания на тестовом нарушении;
- review перечня исключений и сроков.
Исключения¶
Нарушение, которое невозможно устранить технически, требует ADR с компенсирующей мерой и сроком.
FE-AXS-004. Ручная проверка вспомогательными технологиями¶
Уровень: SHOULD
Применяется к: критичным пользовательским сценариям
Критичные сценарии следует проверить с использованием экранного читателя или иного применимого средства вспомогательных технологий перед первым production- выпуском и после существенного изменения такого сценария. Повторная ручная проверка каждого локального изменения не требуется, если применимые автоматизированные тесты проходят и пользовательский контракт не изменён.
Обоснование¶
Автоматизация не выявляет часть барьеров, обнаруживаемых только реальным использованием вспомогательных технологий.
Проверка¶
- review результата последней применимой ручной проверки;
- проверка покрытия критичных сценариев;
- review плана устранения выявленных барьеров.
Исключения¶
Отклонение фиксируется в merge request с указанием применимой автоматизированной проверки или причины отсутствия пользовательского риска.