Навигация

Не работает меню на сайте

Воспроизводим сбой на нужной ширине экрана, проверяем кнопку, слои, CSS, JavaScript и ссылки. Возвращаем пользователю предсказуемую навигацию мышью, касанием и клавиатурой.

Диагностика

Почему навигация
перестаёт отвечать

Внешне одинаковый сбой может возникать в разных слоях. Мы проверяем фактическое нажатие, изменение состояния, расположение панели и переход по ссылке, а не увеличиваем z-index наугад.

01

Кнопка

Сверяем тип элемента, активную область, aria-expanded, aria-controls и доступное название.

02

JavaScript

Проверяем загрузку скрипта, ошибки консоли, повторные обработчики и конфликт с темой или виджетом.

03

Слои

Ищем невидимые перекрытия, новый stacking context, неверный z-index и панель за пределами экрана.

04

Адаптивность

Тестируем контрольные ширины, поворот телефона, смену display и классы, которые должны открывать панель.

05

Прокрутка

Проверяем блокировку body, возврат позиции, высоту панели и доступность пунктов внизу списка.

06

Ссылки и фокус

Сверяем адреса и якоря, порядок Tab, видимый фокус, Enter, Space, Escape и возврат к кнопке.

Результат

Посетитель может перейти в нужный раздел

Меню открывается

Кнопка меняет состояние один раз, а панель видна поверх нужной части интерфейса.

Пункты доступны

Ссылки нажимаются, получают фокус и не скрываются за границами экрана.

Страница восстанавливается

После закрытия возвращаются прокрутка, фокус и привычное управление контентом.

Контрольный сценарий

Проверяем не только открытие панели

Пример навигации W3C показывает связь кнопки, состояния раскрытия и управления с клавиатуры. Конкретная реализация зависит от структуры сайта, но пользовательский сценарий должен оставаться понятным.

01

До открытия

Кнопка заметна, имеет понятное название и доступна без точного попадания в маленькую иконку.

02

В открытом состоянии

Панель не обрезается, активное состояние объявлено, а фон не перехватывает действия.

03

При переходе

Ссылка ведёт по ожидаемому адресу, якорь не прячется под шапкой и меню закрывается корректно.

04

После закрытия

Escape, повторное нажатие или выбор пункта возвращают управление странице без зависшей блокировки.

Границы работ

Когда нужен доступ к теме или конструктору

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

Вопросы

Перед исправлением

Почему меню не открывается?

Проверяем, получает ли кнопка нажатие, запускается ли скрипт и меняются ли классы и атрибуты раскрытия.

Почему ошибка только на телефоне?

На мобильной ширине включается отдельная панель и блокировка прокрутки, поэтому десктопная версия может оставаться исправной.

Нужен полный редизайн?

Нет, если существующая структура подходит. Локальную ошибку разметки, CSS или JavaScript можно исправить отдельно.

Что проверяется после ремонта?

Ссылки, раскрытие и закрытие, несколько ширин, поворот телефона, клавиатура, фокус и прокрутка.

Первый шаг

Покажите неработающее меню

Пришлите URL, устройство, браузер и действие, после которого возникает сбой. Если проблема зависит от авторизации, опишите доступный тестовый сценарий.