
Доступная навигация с клавиатуры позволяет пройти сайт без мыши: перемещаться между элементами, запускать действия, заполнять формы и закрывать диалоги. Проверяйте её в обычном браузере клавишами Tab, Shift+Tab, Enter, пробелом и стрелками. Такая проверка - практичная часть разработки доступных сайтов и создания сайта с доступностью для людей с инвалидностью.
Опорные принципы клавиатурной навигации
- Порядок перехода по элементам должен соответствовать смысловой и визуальной последовательности страницы.
- Фокус должен быть заметен, а пользователь - понимать, на каком элементе он находится.
- Ссылки, кнопки, поля и другие интерактивные элементы должны работать с клавиатуры.
- Открытие меню или диалога не должно незаметно переносить или блокировать фокус.
- Проверяйте поведение сайта после изменений и включайте клавиатурные сценарии в аудит доступности сайта.
Как проверить сайт без мыши и выявить барьеры
Проверка подходит разработчикам, редакторам и специалистам, которые оценивают доступность интерфейса до выпуска или после обновления. Она полезна при разработке новой страницы, изменении меню, формы или диалогового окна.
Не проводите проверку на рабочем сайте действиями, которые могут отправить реальные данные, оформить заказ или удалить информацию. Для таких сценариев используйте тестовую среду. Клавиатурный проход не заменяет проверку экранным диктором и другие методы оценки.
- Откройте страницу в браузере и не используйте мышь.
- Нажимайте Tab, чтобы переходить вперёд, и Shift+Tab, чтобы вернуться к предыдущему элементу.
- Проверяйте, виден ли текущий фокус и понятна ли функция каждого элемента.
- Используйте Enter для перехода по ссылке или запуска действия, пробел - для кнопки или переключателя, если это соответствует поведению элемента.
- Запишите элементы, которые пропускаются, работают неожиданно или удерживают фокус без понятного способа продолжить.
При необходимости фиксируйте страницу, шаги воспроизведения и ожидаемое поведение. Это делает результаты проверки полезными для исправлений и для услуг веб-разработки доступных сайтов.
Порядок фокуса: согласуйте его с визуальной структурой
Перед проверкой подготовьте список основных сценариев и убедитесь, что можете безопасно пройти их без отправки реальных данных.
- Откройте нужные страницы в тестовой среде или выберите действия без необратимых последствий.
- Подготовьте перечень интерактивных элементов: ссылки, кнопки, поля, меню и диалоги.
- Проверьте страницу в браузере с клавиатурой; для отдельных сценариев используйте экранный диктор, если он входит в план тестирования.
- Сравнивайте порядок фокуса с визуальным расположением и смыслом контента, а не только с порядком элементов в коде.
Если фокус перемещается в неожиданное место, сначала проверьте структуру документа и порядок элементов в разметке. Не исправляйте последовательность случайным добавлением положительных значений tabindex: это может усложнить навигацию после будущих изменений.
Ссылки и кнопки: обеспечьте понятные действия с клавиатуры
Перед изменениями учтите риски: не отключайте стандартное поведение клавиш без необходимости; не удаляйте видимый индикатор фокуса; не добавляйте элементам фокусируемость, если они не выполняют действия; проверяйте изменения на тестовой странице; не отправляйте формы с настоящими данными во время испытаний.
-
Определите назначение элемента.
Ссылка должна вести на другой адрес или раздел, а кнопка - выполнять действие на текущей странице. Выбирайте тип элемента по его функции. -
Проверьте доступ к элементу.
Пройдите страницу клавишами Tab и Shift+Tab. Убедитесь, что ссылка или кнопка включена в последовательность фокуса и её положение понятно. -
Проверьте запуск действия.
Используйте Enter для ссылки и соответствующую клавишу для кнопки. Убедитесь, что действие запускается один раз и результат можно определить. -
Уточните текст и состояние.
Название элемента должно описывать действие или цель перехода. Для временно недоступного действия проверьте, что состояние и причина понятны пользователю. -
Повторите сценарий после исправления.
Проверьте переход вперёд и назад, а также поведение после обновления страницы или открытия интерактивного блока.
Не превращайте обычный текст в искусственно фокусируемый элемент. Если действие должно работать как кнопка, используйте нативную кнопку: это снижает риск расхождения между поведением с мышью и клавиатурой.
Меню и выпадающие списки: управляйте открытием и фокусом
Проверьте меню клавиатурой и убедитесь, что открытое состояние не создаёт ловушку фокуса.
- Ссылка или кнопка открытия меню доступна при последовательном нажатии Tab.
- Элемент меню открывается с клавиатуры и сообщает понятное состояние, если оно меняется.
- После открытия фокус остаётся в предсказуемом месте, а пункты меню доступны для перехода.
- Клавиши навигации соответствуют типу меню: если используются стрелки, их поведение не мешает обычному переходу между элементами страницы.
- Закрытое меню не оставляет скрытые пункты в последовательности фокуса.
- После закрытия меню фокус возвращается к элементу, который его открыл, или остаётся в логичном месте.
- Переход по пункту меню приводит к ожидаемой странице или разделу.
Если пользователь не может выйти из меню клавишей Tab, Shift+Tab или предусмотренным способом закрытия, остановите проверку и устраните блокировку до выпуска изменений.
Формы и диалоги: не допускайте потери фокуса
При проверке форм и диалогов ищите ошибки, которые мешают понять, куда переместился фокус или как продолжить действие:
- Поле ввода нельзя достичь клавишей Tab или нельзя покинуть обычным способом.
- У поля отсутствует понятная подпись либо инструкция, необходимая для заполнения.
- Ошибка появляется, но фокус или сообщение не помогает найти проблемное поле.
- После отправки формы пользователь не получает понятного подтверждения или сообщения о проблеме.
- Диалог открывается, но фокус остаётся за его пределами.
- При открытом диалоге клавиатура позволяет перейти к фоновому содержимому, хотя взаимодействие должно быть ограничено диалогом.
- После закрытия диалога фокус теряется или переносится в неожиданное место.
- Кнопку закрытия нельзя достичь или активировать с клавиатуры.
Проверяйте диалоги и отправку формы в тестовой среде. Если фокус пропал, зафиксируйте последовательность действий и не продолжайте ввод чувствительных данных.
Видимый фокус и быстрый переход к основному содержимому
Если пользователь вынужден проходить длинную шапку сайта на каждой странице, добавьте способ быстро перейти к главному содержимому. Выберите подходящий вариант и проверьте его клавиатурой:
- Ссылка пропуска. Разместите в начале страницы ссылку на основной контент; сделайте её видимой при получении фокуса и проверьте переход к целевому разделу.
- Выразительный индикатор фокуса. Настройте контур или другой заметный визуальный признак, который не исчезает при переходе между элементами.
- Понятный порядок контента. Если навигация сайта короткая, достаточно обеспечить логичный порядок фокуса и не создавать лишних промежуточных остановок.
Выбор зависит от структуры страницы. При любом варианте убедитесь, что фокус не скрывается под фиксированной шапкой и остаётся заметным на разных состояниях интерфейса. Адаптация сайта для людей с ограниченными возможностями включает такие проверки наряду с оценкой других способов взаимодействия.
Практические ситуации при навигации с клавиатуры
Как понять, что элемент получил фокус?
На элементе должен быть заметен визуальный индикатор, например контур или подчёркивание. Если положение фокуса невозможно определить, проверьте стили элемента и состояние при наведении или активации с клавиатуры.
Что делать, если Tab пропускает нужный пункт меню?
Проверьте, не скрыт ли пункт, не исключён ли он из порядка фокуса и доступно ли само меню с клавиатуры. Не добавляйте положительный tabindex до проверки структуры и причин пропуска.
Нужно ли использовать стрелки внутри любого меню?
Нет, поведение зависит от типа меню и принятой модели взаимодействия. Важно, чтобы способ перемещения был предсказуемым, доступным и проверенным для всего компонента.
Как закрыть диалог без мыши?
Проверьте доступность кнопки закрытия с клавиатуры и предусмотренный компонентом способ выхода. После закрытия фокус должен вернуться к элементу, который открыл диалог, либо перейти в логичное место.
Можно ли проверять отправку формы на рабочем сайте?
Только если действие безопасно и не создаёт реальных последствий. Для проверки ошибок, подтверждений и других сценариев используйте тестовую среду или тестовые данные.
Достаточно ли одной проверки клавиатурой для оценки доступности?
Нет. Она выявляет барьеры клавиатурной навигации, но не заменяет проверку экранным диктором и другие способы тестирования интерфейса.
Когда проводить повторную проверку?
Повторите клавиатурный проход после изменений навигации, интерактивных компонентов или порядка контента. Также проверяйте затронутые сценарии после исправления обнаруженной ошибки.
Автор: Виктор Егоров