Как тестировать клавиатурный доступ к выпадающим меню: практическое руководство

Выпадающее меню, которое нельзя полноценно использовать без мыши, — одна из самых частых проблем доступности интерфейсов. Пользователи с нарушениями зрения, моторики или те, кто просто предпочитает клавиатуру, упираются в меню, которое не открывается, не позволяет перемещаться по пунктам или «теряет» фокус. В этой статье — практическая методика тестирования клавиатурного доступа к выпадающим меню: какие сценарии проверять, какие сочетания клавиш ожидать, как фиксировать дефекты и когда проблему стоит эскалировать разработчикам.

Главный ориентир простой: все действия, доступные мышью, должны быть доступны с клавиатуры, а текущий элемент должен быть всегда виден пользователю. Если хотя бы одно из этих условий не выполняется, меню считается недоступным.

Что именно проверяем и почему это важно

Клавиатурная навигация строится на понятии фокуса — маркера, который показывает, какой элемент интерфейса сейчас получит нажатия клавиш. Выпадающее меню корректно работает с клавиатурой, если фокус предсказуемо перемещается между триггером (кнопкой или полем), самим меню и его пунктами, а пользователь в любой момент понимает, где находится.

От качества этой навигации зависят:

  • Доступность для людей с инвалидностью — скринридеры и альтернативные устройства ввода полагаются на стандартное поведение фокуса.
  • Удобство для опытных пользователей — многие работают преимущественно с клавиатуры и воспринимают недоступное меню как брак продукта.
  • Соответствие требованиям — критерии WCAG (например, управляемость с клавиатуры и видимость фокуса) входят в требования законодательства о доступности в ряде стран, включая европейский European Accessibility Act.

Подготовка к тестированию

Перед началом убедитесь, что у вас есть всё необходимое:

  • Браузер с инструментами разработчика — они позволяют видеть, куда реально попадает фокус, даже если визуально он не отрисован.
  • Скринридер для проверки озвучивания: NVDA или JAWS на Windows, VoiceOver на macOS, TalkBack на Android. Достаточно одного, но при возможности полезно проверить два разных.
  • Список всех выпадающих меню приложения: навигационные меню, селекты в формах, контекстные меню, автодополнение, кастомные комбобоксы. Это разные компоненты с разным ожидаемым поведением.
  • Чек-лист сценариев (приведён ниже) и шаблон баг-репорта.

Важно заранее договориться с командой, какое поведение считается эталоном. Для стандартных элементов (