Если пользователь не может пройти сценарий с Tab, Enter, Space и Esc — интерфейс недоступен. Проверяйте не «есть ли фокус», а можно ли выполнить задачу: открыть меню, выбрать значение, отправить форму, закрыть модальное окно.
— порядок Tab совпадает с визуальной логикой;
— фокус хорошо виден на всех фонах, не только при hover;
— интерактивные элементы получают фокус, декоративные — нет;
— Enter активирует ссылки и кнопки, Space — кнопки, чекбоксы и переключатели;
— Esc закрывает всплывающие слои и возвращает фокус туда, откуда пользователь пришёл.
Частая ошибка — tabindex больше 0. Он создаёт искусственный порядок и быстро превращает страницу в лабиринт. Лучше исправить структуру HTML и порядок элементов в DOM. tabindex="0" используйте точечно, tabindex="-1" — для программного перевода фокуса.
Мини-тест: уберите мышь и пройдите ключевой сценарий за один заход. Если фокус пропал, застрял внутри блока или перескочил в неожиданный участок — это баг, а не «особенность навигации».
Хорошее управление клавиатурой незаметно: пользователь движется по интерфейсу предсказуемо и всегда понимает, где находится.
Доступность веб-интерфейсов
@accessibility_in_design_ww
Клавиатура ломает интерфейс быстрее мыши: 6 проверок перед релизом
Этот пост опубликован в Telegram-канале Доступность веб-интерфейсов. Подписаться можно по ссылке: @accessibility_in_design_ww.