1️⃣
Разметка
  • 1. 1. Введение
  • 1. 2. Введение в HTML
  • 1. 3. Подходы к разметке
  • 1. 4. Работа со спецификацией
  • 1. 5. Проверка валидности
  • 1. 6. Часто используемые теги и типовые ошибки
  • 1. 7. Методика семантической разметки
    • 1. 7. 1. Определяем DOCTYPE
    • 1. 7. 2. Шаг 1. Выделяем крупные смысловые блоки на каждой странице сайта
    • 1. 7. 3. Шаг 2. Размечаем в блоках крупные смысловые разделы
    • 1. 7. 4. Шаг 3. Выделяем заголовок всего документа и заголовки смысловых разделов
    • 1. 7. 5. Шаг 4. Размечаем мелкие элементы в смысловых разделах
    • 1. 7. 6. Шаг 5. Размечаем фразовые элементы
  • 1. 8. Использование тега br
  • 1. 9. DOCTYPE
  • 1. 10. Как работает атрибут target
  • 1. 11. Правильное использование ссылок и кнопок
  • 1. 12. Как делать пустые ссылки?
  • 1. 13. Как правильно скрывать элементы?
  • 1. 14. Когда применять список терминов (dl)?
  • 1. 15. Как использовать ссылки mailto: и tel:
  • 1. 16. Именование сущностей
  • 1. 17. Разметка по БЭМ
    • 1. 17. 1. Введение
    • 1. 17. 2. Предыстория
    • 1. 17. 3. Частые проблемы из-за неправильной CSS-архитектуры проекта
    • 1. 17. 4. Основные понятия
    • 1. 17. 5. Свод правил БЭМ-а
    • 1. 17. 6. БЭМ для CMS
    • 1. 17. 7. Названия классов по БЭМ
    • 1. 17. 8. БЭМ — это про компоненты
    • 1. 17. 9. Темизация
    • 1. 17. 10. Плюсы и минусы БЭМ
    • 1. 17. 11. Алгоритм выделения блоков
    • 1. 17. 12. Типовые интерфейсные решения
    • 1. 17. 13. Блоки и элементы
    • 1. 17. 14. Миксы блоков и элементов
    • 1. 17. 15. Модификаторы блоков и элементов
    • 1. 17. 16. Типовые ошибки
  • Дополнительные материалы
Powered by GitBook
On this page
  1. 1. 7. Методика семантической разметки

1. 7. 4. Шаг 3. Выделяем заголовок всего документа и заголовки смысловых разделов

Previous1. 7. 3. Шаг 2. Размечаем в блоках крупные смысловые разделыNext1. 7. 5. Шаг 4. Размечаем мелкие элементы в смысловых разделах

Last updated 1 year ago

Следующий этап после выделения крупных смысловых блоков — разметка заголовков.

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

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

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

Давайте отработаем навык определения на макете элементов, соответствующих заголовочным тегам (<h1>-<h6>). Рассмотрим макет и разберём часто встречающиеся ошибки при определении заголовков в документе.

Кандидаты на роль заголовков

На первом макете выделены кандидаты на роль заголовков, но, как видно из второго макета, не все из них таковыми являются.

Начнём с заголовка первого уровня. Было бы большой ошибкой сделать заголовком первого уровня самый крупный текст на странице — текст «Долго, дорого, скрупулёзно». Во-первых, этот текст не содержательный. Во-вторых, это текст одного из нескольких слайдов, то есть существует как минимум несколько похожих блоков. То есть этот заголовок не может быть главным. Максимум — это заголовок второго уровня, но нужно ещё проверить его роль для последующего текста.

А на роль заголовка всего документа подойдёт текст: Интернет-магазин «Nёrds». Несмотря на то, что этого текста нет в макете, в разметку его нужно добавить в «скрытом» виде.

Дальше идёт смысловой блок «Услуги», у которого на макете также нет заголовка. Давайте добавим этому блоку «скрытый» содержательный заголовок второго уровня. Далее идут названия самих услуг. Являются ли эти элементы важными, смысловыми, содержательными? Да, являются, потому что это описание того, чем живёт студия, описание услуг. Значит, «веб-сайты», «приложения», «презентации» станут уже <h3>.

Есть также альтернативный вариант: пропустить «скрытый» заголовок «Услуги» и сделать названия услуг заголовками второго уровня.

Далее, текст «Мы — маленькая, но гордая веб-студия из Краснодара» — заголовок или нет? Не заголовок. Почему? Это само содержание, а не его резюме. Из этого текста непонятно, что будет дальше, что именно студия делает. Хорошим заголовком для этого блока был бы текст «О нас» или «О студии».

Текст «Давайте дружить, это выгодно!» также не является заголовком, это скорее призыв к действию, и его стоит разметить обычным тегом <p>.

В итоге получилась такая разметка:

<main>
  <h1>Интернет-магазин «Nёrds»</h1>
  <section class="services">
    <h2>Услуги</h2>
    …
  </section>
  <section class="about">
    <h2>О нас</h2>
    …
  </section>
  <section class="companies">
    <h2>Производители</h2>
    …
  </section>
</main>

Почему так важно правильно размечать заголовки, не путать их последовательность, не пропускать их по уровням?

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

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

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

Реальные заголовки на сайте
Пример заголовков на макете
Пример незаголовка на макете

Во-вторых, это важно для правильной индексации сайта. В конце концов, семантика в разметке важна не столько для пользователя, сколько для коллег, поисковых роботов и правильной работы сервисов и дополнительных интегрированных технологий. Так, у валидатора w3c () один из критериев — это именно структура заголовков. Подробнее о валидации — в материале углублённой теории.

Дополнительная настройка валидатора w3c для вывода структуры заголовков
Отображение страницы в режиме структуры заголовков
https://validator.w3.org/
Пример заголовков на макете
Дополнительная настройка валидатора w3c для вывода структуры заголовков
Пример *не*заголовка на макете
Отображение страницы в режиме структуры заголовков