Accessibility (a11y)
Цели
- Делать интерфейс доступным для пользователей с клавиатурой, скринридерами, слабым зрением и др.
- Избежать регрессий: правила должны быть проверяемыми (eslint, тесты, Storybook checks).
- Сократить "a11y-долг" за счёт стандартных паттернов для форм, модалок, меню и таблиц.
Обязательные принципы
MUST
- Используем семантический HTML по умолчанию (button, a, label, input, nav, main, header, footer).
- Любой интерактивный элемент доступен с клавиатуры (Tab/Shift+Tab, Enter/Space).
- Фокус видимый (не отключаем outline без замены).
SHOULD
- Минимизировать ARIA: сначала семантика, затем ARIA.
- Делать дизайн устойчивым к увеличению шрифтов (zoom 200%+).
Семантика и интерактивность