Семантические теги: header, nav, main, article, footer
Заменяйте бессмысленные div семантическими элементами HTML5 и понимайте, как они помогают браузерам, поисковым системам и программам чтения с экрана.
«Семантические теги: header, nav, main, article, footer» — бесплатный урок Frontend Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Frontend Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Frontend Academy содержит 4 уроков всего.
Что такое семантический HTML?
Семантический HTML использует элементы, описывающие смысл содержимого, а не только его внешний вид. <article> сообщает: «это самостоятельная часть содержимого». Универсальный <div> ничего не сообщает о смысле.
До семантики: суп из div
Первые веб-разработчики строили макеты исключительно из элементов <div> и <span>. Программы чтения с экрана не могли отличить навигацию от содержимого и рекламы. Поисковым системам приходилось угадывать структуру страницы.
<!-- Old way -->
<div class="header">...</div>
<div class="nav">...</div>
<div class="content">...</div>
<div class="footer">...</div><header> — заголовок сайта или раздела
Элемент <header> содержит вводное содержимое страницы или раздела: обычно логотип, название сайта и навигацию. На странице может быть несколько заголовков — один для сайта и по одному для каждой статьи.
<header>
<a href="/"><img src="logo.svg" alt="CoddyKit"></a>
<nav>...</nav>
</header><nav> — навигационные ссылки
Используйте <nav>, чтобы объединить наборы навигационных ссылок: главное меню, цепочку навигации или оглавление. Программы чтения с экрана объявляют области навигации, поэтому пользователи могут сразу перейти к ним или пропустить их.
<nav aria-label="Main navigation">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/courses">Courses</a></li>
<li><a href="/about">About</a></li>
</ul>
</nav><main> — основное содержимое
На каждой странице должен быть ровно один элемент <main>. Он содержит основное содержимое, уникальное для этой страницы, а не повторяющиеся элементы вроде навигации или нижнего колонтитула. Вспомогательные технологии позволяют пользователям сразу перейти к main.
<main>
<h1>Learn Frontend Development</h1>
<p>Start your journey here...</p>
</main><article> — самостоятельное содержимое
<article> объединяет содержимое, имеющее смысл само по себе и пригодное для распространения: запись в блоге, новость, комментарий пользователя или карточку товара. Спросите себя: «Сохранило бы это смысл, если бы я скопировал это на другой сайт?»
<article>
<h2>Introduction to CSS Grid</h2>
<p>CSS Grid revolutionised web layout...</p>
<time datetime="2025-01-15">January 15, 2025</time>
</article><section> — тематическая группировка
<section> объединяет связанное содержимое, которое должно находиться вместе: главы, вкладки или тематические области. Обычно у каждого раздела есть заголовок. Если содержимое может существовать самостоятельно, используйте article.
<section>
<h2>Core Technologies</h2>
<p>HTML, CSS, and JavaScript...</p>
</section><aside> — дополнительное содержимое
<aside> содержит содержимое, косвенно связанное с окружающим: боковые панели, выносные цитаты, рекламу или связанные ссылки. Программы чтения с экрана представляют его как дополнительную область.
<footer> — заключительное содержимое
<footer> содержит информацию о содержащем его элементе: уведомления об авторских правах, контактные ссылки и связанные документы. Как и у header, у страницы может быть несколько нижних колонтитулов.
<footer>
<p>© 2025 CoddyKit. All rights reserved.</p>
<nav aria-label="Footer">
<a href="/privacy">Privacy</a>
<a href="/terms">Terms</a>
</nav>
</footer>Иерархия заголовков: от h1 до h6
Используйте заголовки, чтобы создать логичную структуру документа. На странице должен быть только один <h1>. Для подзаголовков используйте h2, для заголовков подразделов — h3 и так далее. Не пропускайте уровни и не используйте заголовки только ради их визуального размера.
Почему семантика важна для SEO и доступности
Поисковые системы используют семантическую структуру, чтобы понимать содержимое страницы: страницы с корректными областями и иерархией заголовков часто занимают более высокие позиции. Пользователи программ чтения с экрана перемещаются по областям и заголовкам, поэтому семантика напрямую связана с доступностью.
Быстрая проверка
Какой элемент должен содержать основное уникальное содержимое страницы и присутствовать ровно один раз?
Итоги: семантические области HTML5
Используйте <header>, <nav>, <main>, <article>, <section>, <aside> и <footer>, чтобы придать документу структуру, понятную браузерам, поисковым системам и программам чтения с экрана.
Часто задаваемые вопросы
Урок «Семантические теги: header, nav, main, article, footer» бесплатный?
Да — полный текст урока «Семантические теги: header, nav, main, article, footer» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Frontend Academy, подпишись на CoddyKit PRO. Курс Frontend Academy содержит 4 уроков всего.
Чему я научусь в уроке «Семантические теги: header, nav, main, article, footer»?
Заменяйте бессмысленные div семантическими элементами HTML5 и понимайте, как они помогают браузерам, поисковым системам и программам чтения с экрана. Ты практикуешь Frontend Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Frontend Academy?
Предыдущий опыт не требуется. Frontend Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Семантические теги: header, nav, main, article, footer»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Frontend Academy?
Да. Каждый урок Frontend Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Структура документа: DOCTYPE, html, head, body
- Семантические теги: header, nav, main, article, footer
- Текст, изображения, ссылки и списки
- Формы: input, label, button