
Длинную страницу удобнее читать, если в начале есть оглавление со ссылками на разделы. Чтобы понять, как сделать оглавление на сайте, сначала выстройте заголовки, затем назначьте разделам устойчивые идентификаторы и свяжите их с пунктами навигации. Проверьте переходы мышью, клавиатурой и на мобильном экране, а после правок убедитесь, что якоря не изменились.
Проверьте перед запуском: оглавление, якоря и переходы
- Разделите материал на смысловые блоки и оформите их последовательными заголовками H2 и H3.
- Добавляйте оглавление, если читателю полезно сразу переходить к нужному разделу.
- Присвойте целевым заголовкам уникальные идентификаторы без пробелов.
- Сверьте адрес каждой ссылки с идентификатором соответствующего раздела.
- Проверьте, что заголовок не скрывается под фиксированной шапкой сайта.
- Убедитесь, что по ссылкам можно переходить с клавиатуры и на узком экране.
Определите структуру длинной страницы до добавления оглавления
Оглавление уместно в руководствах, инструкциях, обзорах и других материалах с несколькими самостоятельными разделами. Оно помогает быстро найти нужную тему и возвращаться к ней после перехода.
Не добавляйте навигационный блок ради самого блока: на короткой странице с одним-двумя небольшими разделами он может занимать больше внимания, чем экономить. Сначала составьте план содержания, затем решите, нужно ли читателю переходить между его частями.
Соберите пункты оглавления из заголовков H2 и H3
Для работы понадобятся доступ к редактору страницы или к HTML-шаблону, согласованная структура заголовков и возможность проверить страницу после публикации. Если CMS автоматически формирует оглавление, выясните, какие уровни заголовков она учитывает и как создаёт идентификаторы.
Формулировки в оглавлении лучше брать из самих заголовков: так читатель сразу понимает, куда ведёт ссылка. Не включайте в список каждый подзаголовок, если из-за этого навигация становится громоздкой.
Задайте якорям понятные и устойчивые идентификаторы
Перед настройкой сделайте мини-чек-лист подготовки:
- Определите заголовки, к которым должны вести переходы.
- Проверьте, что названия разделов окончательно согласованы.
- Уточните, не назначены ли идентификаторы этим элементам автоматически.
- Выберите один формат идентификаторов и используйте его по всей странице.
Для ручной разметки используйте такую последовательность:
- Выберите целевой элемент. Обычно якорь задают заголовку раздела. Тогда переход приводит читателя непосредственно к началу нужной темы.
- Назначьте уникальный id. Используйте короткое и понятное значение латинскими буквами, цифрами и дефисами, например
ustanovka-oglavleniya. Не повторяйте один и тот же id на странице. - Добавьте ссылку на id. В атрибуте
hrefукажите решётку и значение идентификатора. Так создаются якорные ссылки на сайте:<h2 id="ustanovka-oglavleniya">Установка оглавления</h2> <a href="#ustanovka-oglavleniya">Установка оглавления</a> - Свяжите ссылки и заголовки. Сверьте написание id в ссылке и целевом элементе посимвольно. Если вы выясняете, как сделать якорную ссылку в HTML, ключевая связь здесь - между
href="#идентификатор"иid="идентификатор". - Проверьте адрес перехода. Откройте ссылку на опубликованной странице и убедитесь, что браузер переместил фокус к правильному разделу. Если якоря создаёт плагин, проверьте, что он не заменяет идентификаторы после каждого сохранения.
Разместите оглавление там, где читатель ожидает навигацию
Обычно оглавление располагают после краткого вступления и перед первым основным разделом. При создании оглавления на странице сайта проверьте:
- блок находится до длинного основного текста, а не в конце материала;
- название блока ясно сообщает, что это навигация по странице;
- пункты повторяют названия разделов или понятно их сокращают;
- в оглавление попали только существующие заголовки;
- пункты упорядочены так же, как разделы в тексте;
- ссылки ведут к нужным местам и не открывают случайные страницы;
- оглавление не перекрывает текст и корректно помещается на мобильном экране.
Сделайте переходы удобными для клавиатуры и мобильного экрана
Проверьте распространённые ошибки:
- У заголовка и пункта оглавления разные идентификаторы.
- Один id повторяется у нескольких элементов.
- В id используются пробелы или непоследовательный формат символов.
- Ссылка оформлена как обычный текст и не работает при активации.
- После перехода фиксированная шапка закрывает заголовок раздела.
- Область нажатия слишком мала для мобильного экрана.
- Ссылки доступны мышью, но не выделяются при переходе клавишей Tab.
- Цвет или оформление ссылки не дают понять, что пункт можно активировать.
Не удаляйте стандартный индикатор фокуса без доступной замены. Если сайт использует фиксированную шапку, настройте отступ прокрутки для целевых заголовков и проверьте результат в браузере.
Проверьте прокрутку, обратные ссылки и поведение после правок
Выберите способ поддержки оглавления в зависимости от редактора и особенностей страницы:
- Ручная разметка HTML. Подходит, если структура стабильна и нужно полностью контролировать пункты и id.
- Возможности CMS. Удобны, когда редактор поддерживает оглавление и позволяет проверить или изменить создаваемые идентификаторы.
- Плагин или модуль. Рассмотрите его, если оглавление нужно регулярно на многих страницах. Перед применением проверьте, как модуль обрабатывает вложенные заголовки и уже опубликованные ссылки.
После публикации пройдите по всем пунктам оглавления, обновите страницу с адресом, содержащим якорь, и проверьте поведение после изменения заголовков. Не меняйте уже используемый id без необходимости: на него могут вести ссылки из других частей сайта. Если оглавление должно быть устойчивым и повторяться на множестве страниц, а подходящий способ реализации неясен, можно заказать разработку сайта или отдельного модуля с проверкой доступности и поведения ссылок.
Нюансы настройки оглавления и якорных ссылок
Нужно ли добавлять в оглавление каждый подзаголовок?
Нет. Включайте подзаголовки, если они помогают быстро выбрать нужную тему; длинный список мелких пунктов затрудняет навигацию.
Можно ли назначить id самому пункту оглавления?
Идентификатор нужно назначить целевому элементу в тексте. Пункт оглавления должен ссылаться на него через атрибут href.
Обязательно ли использовать латиницу в id?
Технически HTML допускает разные символы в идентификаторах, но короткие значения латиницей и дефисами обычно проще поддерживать и вставлять в ссылки. Важно, чтобы id был уникальным и совпадал с фрагментом адреса.
Что делать, если переход скрывает заголовок под шапкой?
Настройте отступ прокрутки для целевого заголовка средствами CSS, например свойством scroll-margin-top. Подберите значение по фактической высоте шапки и проверьте его на разных размерах экрана.
Нужно ли добавлять ссылку для возврата к оглавлению?
Это полезно на очень длинных страницах, когда читателю приходится прокручивать большой объём текста. Ссылка должна возвращать именно к блоку оглавления и быть доступной с клавиатуры.
Почему якорь перестал работать после редактирования?
Проверьте, не изменился ли id целевого заголовка и не удалён ли сам элемент. Затем сверьте адрес ссылки с текущим id и протестируйте переход на опубликованной странице.
Нужно ли использовать плагин для оглавления?
Не обязательно: для одной страницы может хватить ручной разметки или встроенной функции CMS. Плагин удобен для повторяющейся задачи, если он корректно формирует ссылки и не мешает редактированию заголовков.