Зачем нужна семантика

Разбираемся, какую конкретную пользу приносит семантика — и почему это не «для галочки».

Семантика — это про смысл разметки. Один и тот же вид можно получить из <div>, но смысл теряется.

Один и тот же вид — разный смысл

Внешне страница на голых <div> и страница на семантических тегах могут выглядеть одинаково. Но для машин разница огромная. Сравните:

<div class="top">...</div>
<div class="menu">...</div>
<div class="content">...</div>

Здесь имена классов придумал разработчик — машина их не понимает. А вот семантический вариант:

<header>...</header>
<nav>...</nav>
<main>...</main>

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

Польза 1: доступность

Незрячие пользователи работают через программы чтения с экрана. Такая программа умеет перемещаться по семантическим областям: «перейти к навигации», «перейти к основному содержимому», пропустить меню. Если вместо <nav> и <main> стоят безликие <div>, эти удобные переходы недоступны, и пользователю приходится продираться через всю страницу.

Польза 2: SEO

Поисковые системы (Google, Яндекс) анализируют структуру страницы, чтобы понять, что на ней главное. Семантические теги подсказывают: вот основной контент в <main>, вот заголовок статьи, а вот второстепенная врезка в <aside>. Это помогает странице правильно ранжироваться в поиске.

Польза 3: читаемость кода

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

Правило выбора

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

ПользаКому помогает
Доступностьнезрячим пользователям (скринридеры)
SEOпродвижению в поиске
Читаемостьразработчикам

Маленькое усилие — большая отдача

Замечательное в семантике то, что она почти ничего не стоит. Вам не нужно писать больше кода или учить новый синтаксис — достаточно вместо безликого <div class="header"> написать <header>. Одно и то же количество усилий, но во втором случае вы бесплатно получаете лучшую доступность, плюс к SEO и более чистый код.

Именно поэтому семантику считают признаком грамотного разработчика. На собеседованиях часто показывают кусок вёрстки из сплошных <div> и спрашивают, что улучшить, — и правильный ответ начинается с семантических тегов. Привыкайте писать осмысленно с самого начала: переучиваться потом сложнее, чем сразу делать хорошо. Это та привычка, которая отличает аккуратный код от «лишь бы работало».

Итог

  • Семантика добавляет коду смысл, который понимают браузеры, поисковики и программы доступности.
  • Она улучшает доступность для незрячих, помогает SEO и делает код читаемым.
  • Используйте подходящий семантический тег, а <div> — только как нейтральную обёртку.
Проверьте себя
1. Чем семантическая разметка помогает незрячим пользователям?
AДелает страницу ярче
BПозволяет скринридеру перемещаться по областям: навигация, основной контент и т. д.
CУскоряет загрузку
DНикак не помогает
2. Почему семантика полезна для SEO?
AПоисковики платят за это деньги
BСемантические теги помогают поисковику понять структуру и главное содержимое страницы
CОни увеличивают размер страницы
DОни меняют адрес сайта
3. Когда уместно использовать <div>?
AВсегда вместо семантических тегов
BКогда блок не несёт особого смысла и нужен только как обёртка для оформления
CТолько в <head>
DНикогда
Поддержать проект