Семантика в HTML
В этой статье
Семантический элемент HTML передаёт значение содержащегося в нём контента и его роли на веб-странице как для разработчиков, так и для поисковых систем, помогающих в оптимизации поиска.
Открыть RoadmapСодержание
Основные семантические теги и примеры их применения
Современная веб-разработка требует не только функциональности и дизайна, но и повышенного внимания к семантике HTML. Семантика в контексте HTML это использование тегов с учетом их предназначения, чтобы обеспечить более чистую структуру кода и улучшить его понимание поисковыми системами и вспомогательными технологиями.
<header>
— тег для создания верхней части сайта, может содержать заголовки, логотипы и элементы навигации:
<header>
<h1>Название сайта</h1>
<nav>
<ul>
<li><a href="#">Главная</a></li>
<li><a href="#">Новости</a></li>
<li><a href="#">Контакты</a></li>
</ul>
</nav>
</header>
<footer>
— определяет нижний колонтитул веб-страницы, который часто содержит копирайты, контактную информацию и ссылки на юридические или лицензионные секции:
<footer>
<p>© 2024 Компания Моя</p>
<p><a href="#">Политика конфиденциальности</a></p>
</footer>
<article>
— задаёт независимый контент, который может быть перепубликован, например, статьи, блоги, комментарии:
<article>
<h2>Заголовок статьи</h2>
<p>Текст статьи ...</p>
</article>
<section>
— служит для размечения крупных разделов контента или глав в документе и часто используется для группировки смежной тематики:
<section>
<h2>Раздел новостей</h2>
<p>Новость №1...</p>
<p>Новость №2...</p>
</section>
<nav>
— предназначен для создания навигационной секции сайта, которая включает меню, оглавление, индекс или другие элементы навигации:
<nav>
<ul>
<li><a href="#section1">Раздел 1</a></li>
<li><a href="#section2">Раздел 2</a></li>
</ul>
</nav>
<aside>
— обычно содержит контент, который косвенно связан с основным содержанием страницы, например, боковые панели, рекламные блоки:
<aside>
<h2>Полезные ресурсы</h2>
<ul>
<li><a href="#">Внешняя ссылка 1</a></li>
<li><a href="#">Внешняя ссылка 2</a></li>
</ul>
</aside>
<main>
— этот тег задаёт основное содержимое документа, важно чтобы такой элемент был только один на странице:
<main>
<article>...</article>
<article>...</article>
</main>
Использование этих элементов повышает ясность кода не только для других разработчиков, но и для вспомогательных технологий, таких как программы чтения экрана.
Преимущества использования семантических элементов
Доступность
Семантичные теги упрощают навигацию по содержимому для людей с ограниченными возможностями, использующих технологии вроде экранного чтения, поскольку они предоставляют контекстную информацию и помогают пользователям быстрее ориентироваться.
SEO
Семантически корректный HTML-код помогает поисковым системам лучше анализировать и индексировать веб-контент, что позитивно сказывается на видимости сайта в результатах поиска.
Удобство разработки и поддержки
Семантика в HTML повышает читаемость кода, что облегчает его дальнейшую поддержку и развитие. Кроме того, такой код легче стилизовать и адаптировать под различные устройства.
Общепринятые практики работы со семантикой
Использование <main>
Тег <main> используется для обозначения основного, самого важного содержания веб-страницы, и должен присутствовать единожды.
Роль <article>
Элемент <article> позволяет размещать самодостаточный контент, который может существовать независимо от остальной части веб-сайта.
Правильное применение <section>
Тег <section> служит для группировки связанного контента и обычно сопровождается заголовком, ясно обозначающим тему блока.
Ошибки при использовании семантических элементов
Часто разработчики злоупотребляют или неправильно используют теги, что ведёт к семантически некорректной структуре. Например, применение <article> вместо <div> без явного контекста внутреннего содержимого вводит в заблуждение поисковые системы и вспомогательные программы.
Особенно критичным является множественное использование тега <main>
, который предназначен для обозначения основного уникального содержания страницы и должен встречаться только один раз. Кроме того, важно соблюдать правильную иерархию заголовков, начиная с <h1>
и последовательно используя <h2>
, <h3>
и так далее, для обеспечения чёткой структуры документа.
Правильное использование семантических элементов HTML играет ключевую роль в создании доступных, SEO-оптимизированных и легко поддерживаемых веб-страниц. Уделяя должное внимание семантике, мы не только улучшаем опыт пользователя, но и вносим вклад в развитие всего веб-пространства.