Мобильное меню работает, когда посетитель может открыть его, понять доступные разделы, перейти по ссылке и продолжить пользоваться страницей — проверьте весь этот путь, включая закрытие и возврат
Анимация панели не подтверждает готовность навигации — под ней могут остаться недоступные ссылки, потеряться прокрутка или исчезнуть фокус клавиатуры
Ниже — сценарий для проверки существующего меню и подготовки требований к новому — без выбора оформления вместо задачи сайта
Какое поведение меню нужно согласовать
Определите, что именно открывается по кнопке: небольшой список под шапкой или панель поверх страницы — от этого зависят прокрутка, закрытие и управление фокусом
Запишите видимые пункты и адрес каждого — если название одновременно ведёт на страницу и раскрывает подразделы, посетителю нужны различимые действия, а не один непредсказуемый клик
Для длинного списка согласуйте, как добраться до последней ссылки на невысоком экране — наличие пункта в HTML не помогает, если панель обрезает его за границей
Составьте список назначения пунктов: страница, раздел этой страницы или раскрытие подразделов — по этому списку затем проверяются цели ссылок и поведение каждого действия
Как различить два распространённых типа меню
Список, который раскрывается в странице
Кнопка показывает навигационные ссылки под шапкой или рядом с ней — содержимое страницы остаётся частью обычного маршрута чтения и управления
Посетитель может пройти ссылки клавишей Tab и затем продолжить движение к следующему элементу страницы — замыкать фокус внутри такого списка обычно не требуется
При закрытии скрытые ссылки должны исчезать не только визуально, но и из обычного клавиатурного пути — иначе человек будет переходить по элементам, которых не видит
Модальная панель поверх содержимого
Панель временно забирает взаимодействие на себя — пока она открыта, содержимое за ней недоступно для управления — визуальное затемнение само по себе этого не обеспечивает
Фокус при открытии переносится внутрь панели, а Tab и Shift+Tab обходят доступные элементы внутри неё — после последнего элемента путь возвращается к первому
У модальной панели нужен доступный способ закрытия — в паттерне диалога клавиша Escape закрывает окно — после закрытия без перехода фокус обычно возвращается к кнопке открытия
Заранее выберите, какой из этих вариантов реализован — от него зависит ожидаемый результат проверки — одинаковая иконка с тремя полосками может открывать оба варианта

Что проверить пальцем на телефоне
Откройте меню обычным касанием — кнопка должна быть различима и доступна, в том числе после появления баннера согласия или закреплённой панели
Выберите пункт, который ведёт на другую страницу — проверьте итоговый адрес и возможность продолжить чтение после перехода
Затем проверьте ссылку на раздел той же страницы, если она есть — панель не должна оставаться поверх выбранного содержимого
Закройте меню предусмотренным способом и откройте снова — отдельно проверьте поворот телефона и смену ширины окна, чтобы не осталось блокировки прокрутки от прежнего состояния
Согласуйте, закрывается ли панель касанием снаружи — у модального диалога отдельно проверьте Escape и возврат фокуса по клавиатурному сценарию ниже
Что проверить с клавиатуры
Для первого прохода откройте сайт на компьютере в узком окне — уберите мышь из сценария и нажимайте Tab до кнопки меню
Фокус — это текущий выбранный для клавиатурного управления элемент — его должно быть видно по рамке или другому различимому оформлению, чтобы не угадывать положение по числу нажатий
Активируйте обычную HTML-кнопку клавишей Enter, затем закройте меню и повторите открытие пробелом — паттерн disclosure W3C WAI описывает оба способа активации кнопки
Дальше нажимайте Tab и читайте подписи элементов по порядку — на обычной ссылке Enter должен выполнить переход — Shift+Tab позволяет проверить обратный путь
Не требуйте стрелок для обычного списка ссылок только из-за названия «меню» — у сложного ARIA-меню другая модель управления, которую не следует случайно навязывать навигации сайта
| Шаг | Клавиша или действие | Обычное раскрытие | Модальная панель |
|---|---|---|---|
| Найти кнопку | Tab | Кнопка имеет понятное имя и видимый фокус | То же |
| Открыть | Enter, отдельным проходом Space | Ссылки раскрыты, путь продолжается к ним | Фокус переносится внутрь панели |
| Пройти вперёд | Tab | Ссылки, затем следующие элементы страницы | После последнего элемента возврат к первому внутри панели |
| Пройти назад | Shift+Tab | Обратный порядок по странице | Обратный порядок внутри панели |
| Выполнить переход | Enter на ссылке | Открыт правильный адрес или раздел | Переход выполнен, закрытая панель не блокирует новый экран |
| Закрыть без перехода | Кнопка закрытия, для модального диалога также Escape | Поведение соответствует выбранному раскрытию | Панель закрыта, фокус возвращён к доступному элементу вызова |
Для обычного раскрытия отдельно запишите, поддерживается ли Escape и закрытие при уходе из области — это часть выбранного поведения, а не повод сделать панель модальной
После перехода по ссылке на раздел той же страницы проверьте, можно ли продолжить чтение и управление у выбранного блока — возвращение фокуса к кнопке открытия уместно при закрытии без перехода, но не должно постоянно уводить человека от места назначения
Затем закройте меню и снова пройдите Tab — закрытые пункты не должны появляться в маршруте между видимыми элементами — эту ошибку легко пропустить при проверке одной мышью
Какие детали разметки стоит проверить разработчику
Открытие списка — действие кнопки, переход к адресу — действие ссылки — визуально похожие элементы должны сохранять соответствующее назначение в разметке
У кнопки раскрытия нужно корректно сообщать открытое состояние — в распространённом disclosure-паттерне для этого используется aria-expanded
Обычной навигации сайта не требуется роль ARIA menu только из-за слова «меню» — пример W3C WAI объясняет это различие
Этот пример является иллюстрацией паттерна, а не готовым кодом для копирования без проверки — поддержку нужно тестировать с выбранными браузерами и вспомогательными технологиями
Для модальной панели ориентируйтесь на отдельный паттерн диалогового окна W3C WAI — он предполагает другую работу с фокусом и недоступность содержимого за диалогом для взаимодействия
Как связать разметку с видимым состоянием
У раскрывающей кнопки сравните объявленное состояние и реальную панель — при открытом содержимом aria-expanded должно сообщать true, при закрытом — false
Если используется aria-controls, его значение должно ссылаться на существующий уникальный идентификатор управляемой области — произвольная строка без такого элемента не описывает связь
Эти атрибуты не выполняют открытие и закрытие вместо кода — видимость, доступность ссылок и объявленное состояние должны изменяться согласованно
Учебное замечание: панель визуально закрыта, но её ссылки всё ещё доступны обычным Tab — одного правильного aria-expanded="false" недостаточно, нужно проверить фактическое скрытие содержимого
Такую ошибку можно передать исполнителю без назначения конкретной библиотеки — в задаче уже есть состояние, наблюдение и ожидаемый результат
Как записать состояния для приёмки
| Состояние | Действие | Что проверить |
|---|---|---|
| Закрыто | Дойти до кнопки и открыть | Название, видимый фокус, реакцию на активацию |
| Открыто | Пройти все пункты | Доступность последней ссылки и отсутствие перекрытий |
| Переход | Выбрать внешний для страницы раздел | Правильный адрес и пригодность новой страницы |
| Якорь | Перейти к блоку этой страницы | Блок виден, панель не закрывает содержимое |
| Закрытие | Использовать согласованный способ | Фокус и прокрутка восстановлены по сценарию |
| Изменение экрана | Повернуть телефон или расширить окно | Не остаётся невидимый блокирующий слой |
Здесь нет требования реализовать все возможные способы закрытия — матрица помогает проверить выбранный вариант и заметить противоречия
Как проверить ссылки и длинную панель
Как проверить адрес каждого пункта
В рабочем файле заведите две колонки: подпись и ожидаемая цель — для страницы укажите полный адрес, для якоря название нужного блока
Откройте каждый пункт и сравните результат с этой таблицей — ссылка «Условия» может технически работать, но вести на старую страницу с другими условиями
Если нажатие раскрывает подразделы, отдельно проверьте, как посетитель открывает общую страницу раздела — одно и то же касание не должно неожиданно выполнять разные действия без понятного различия в элементах управления
Проверьте активное состояние — после перехода в раздел навигация должна помогать понять, где человек находится — отметка «текущий раздел» не должна оставаться на прежнем пункте
Как проверить длинную панель
Откройте меню на экране небольшой высоты и доберитесь до последнего пункта — проверьте, прокручивается ли нужная область и остаётся ли доступным закрытие
Если внутри панели есть поиск, вызовите экранную клавиатуру и повторите этот путь — если поиска нет, искусственно добавлять его в сценарий не требуется
Поверните телефон, затем вернитесь к исходной ориентации — после перестроения меню не должно оставлять невидимый слой, который перехватывает касания
На компьютере пересеките границу перехода к обычной шапке — открытая мобильная панель должна корректно завершить своё состояние, а страницы и ссылки не должны сохранять блокировку от прежнего режима
Заполненный пример проверки двух сбоев
Рассмотрим учебную навигацию мастерской с пунктами «Ремонт», «Условия» и «Памятка» — меню сделано модальной панелью
Проверяющий открывает панель клавишей Enter, проходит пункты Tab и выбирает «Условия» — содержимое нужного раздела видно, но колесо и жест прокрутки не двигают страницу
Вторая проверка начинается заново — проверяющий открывает панель и нажимает Escape — меню скрывается, но видимый фокус не возвращается на кнопку, а следующее нажатие Tab начинает неожиданный путь
| Замечание | Что подтверждено | Что проверить разработчику | Как закрыть задачу |
|---|---|---|---|
| После якорного перехода нет прокрутки | Шаги повторяются на выбранном телефоне и в узком Chrome | Снимается ли блокировка страницы при переходе | Повторить якорь, обычную ссылку и закрытие без перехода |
| После Escape потерян фокус | Панель закрыта, кнопка открытия не получила фокус | Куда возвращается фокус и существует ли элемент вызова | Проверить возврат, видимое выделение и дальнейший Tab |
У этих ошибок разные условия завершения — исправление блокировки прокрутки не подтверждает, что восстановлен клавиатурный путь
К каждой строке приложите последовательность и условия — для второй проблемы полезна запись с видимым фокусом, а не только снимок уже закрытого меню
Как оформить результат повторной проверки
В учебном журнале после исправления создаются две отдельные записи — по M-1 проверены якорь, обычная ссылка и закрытие без перехода, по M-2 проверены Escape, возврат фокуса и следующий Tab
Если первое замечание перестало воспроизводиться, а второе сохранилось, закрывайте только M-1 — эти результаты не противоречат друг другу, они относятся к разным частям поведения
В итоговой записи укажите версию, условия и реальный результат — фраза «меню проверено» без списка состояний не показывает, что именно было принято
Как отделить ошибку ссылки от ошибки панели
Учебная ситуация: меню открывается, но пункт «Материалы» ведёт на отсутствующий адрес — проблема находится в цели ссылки, а повторная анимация панели её не исправит
Другой случай: адрес правильный, но после перехода по якорю страница остаётся заблокированной для прокрутки — здесь нужно проверить жизненный цикл открытого состояния
Запишите оба дефекта отдельными строками — у них разные способы приёмки, даже если посетитель описывает всё одной фразой «меню не работает»
Если не реагирует сама кнопка, приложите действия и состояние экрана — прозрачное перекрытие, ошибка скрипта и недоступная область касания являются гипотезами до диагностики
Как проверить исправление после публикации
Прежде чем закрывать замечания, проверьте ещё три ситуации — они показывают, не привязано ли исправление только к одному входу на страницу
Первая — возврат кнопкой браузера после перехода из меню — посетитель должен получить пригодную для продолжения страницу, а не открытый невидимый слой поверх текста
Вторая — повторное открытие меню после закрытия — состояние кнопки, доступность ссылок и блокировка фона должны соответствовать текущему виду панели
Третья — другой адрес с той же шапкой — если навигация общая, исправление не заканчивается проверкой одной статьи
Для проверки с программой чтения с экрана понадобится отдельный проход на выбранной связке браузера и вспомогательной технологии — клавиатурная проверка помогает найти часть проблем, но не заменяет этот проход
Пройдите меню с клавиатуры и на реальном телефоне — проверка только мышью не подтверждает эти способы управления
Если JavaScript не загрузился, согласованный базовый путь к разделам должен оставаться понятным — это может быть видимая навигация или другой предусмотренный fallback, а не обязательно та же анимация
Для остальной страницы используйте план мобильной проверки, а поведение меню закрепите в матрице адаптивной вёрстки
Объём frontend-доработок можно сопоставить с описанием услуги вёрстки — конкретная задача начинается с воспроизводимого сценария и выбранного поведения панели
Скачать сценарий проверки меню — с состояниями, полями для адресов и отдельным проходом с клавиатуры
Готово ли задание на меню
Текстовый список для проверки без интерактива: поведение панели, цели ссылок, клавиатура и фокус, прокрутка и изменение экрана — отметки не заменяют тест доступности
Источники проверены 31 октября 2026 года — матрица и учебные ситуации подготовлены редакцией KEIVO