Перейти к основному содержимому

Семантические элементы HTML

Семантические элементы — это элементы, имеющие смысл.


Что такое семантические элементы?

Семантический элемент чётко описывает своё значение как браузеру, так и разработчику. Несемантические элементы, такие как <div> и <span>, ничего не говорят о своём содержимом, тогда как семантические элементы, такие как <img>, <table> и <article>, чётко определяют своё.


Семантические элементы в HTML

Многие сайты используют универсальную разметку, например div, для навигации, шапки и подвала. Вместо этого в HTML есть семантические элементы для этих частей: <article>, <aside>, <details>, <figcaption>, <figure>, <footer>, <header>, <main>, <mark>, <nav>, <section>, <summary> и <time>.


Элемент HTML <section>

Элемент <section> определяет раздел документа. Bootstrap описывает раздел как тематическую группу контента, обычно с заголовком, например главы, введение, новости или контактную информацию.

Пример

Два раздела в документе.

Prompt
Страница с двумя элементами section, каждый из которых объединяет заголовок и абзац: один об организации WWF, а другой о символе панды WWF.
Результат: полная HTML-страница

Элемент HTML <article>

Элемент <article> содержит независимый, самодостаточный контент, который должен иметь смысл сам по себе и может распространяться отдельно, например записи форума, посты блога, комментарии пользователей, карточки товаров или газетные статьи.

Три статьи

Три самодостаточные статьи о браузерах.

Prompt
Страница с тремя элементами article, каждый из которых независим и самодостаточен, описывающими три веб-браузера: Google Chrome, Mozilla Firefox и Microsoft Edge.
Результат: полная HTML-страница

Оформлено с помощью CSS

Вложенные статьи, оформленные с помощью CSS.

Prompt
Страница, использующая CSS для стилизации вложенных элементов article: внешний article "Most Popular Browsers", содержащий три внутренних article для браузеров, с светло-серым и белым фоном.
Результат: полная HTML-страница

Вложение <article> в <section> или наоборот?

Элемент <article> содержит независимый самодостаточный контент, а элемент <section> определяет раздел. Могут ли определения подсказать, как их вкладывать друг в друга? Нет. Вы найдёте страницы с элементами <section>, содержащими элементы <article>, и наоборот.


Элемент HTML <header>

Элемент <header> — это контейнер для вводного содержимого или набора навигационных ссылок. Обычно содержит один или несколько заголовков, логотип или значок и информацию об авторстве.

Примечание: В одном документе может быть несколько элементов <header>, но <header> нельзя размещать внутри <footer>, <address> или другого <header>.

Пример

Заголовок внутри статьи.

Prompt
Страница со статьёй (article), содержащей элемент header с заголовком и коротким вступлением, за которым следует основной абзац статьи о том, чем занимается WWF.
Результат: полная HTML-страница

Элемент HTML <footer>

Элемент <footer> определяет подвал для документа или раздела. Обычно содержит информацию об авторстве, авторских правах и контактах, карту сайта, ссылки «наверх» или связанные документы. В одном документе может быть несколько элементов <footer>.

Пример

Подвал с информацией об авторе и контактах.

Prompt
Страница с элементом footer, содержащим информацию об авторстве и ссылку для связи по email.
Результат: полная HTML-страница

Элемент HTML <nav>

Элемент <nav> определяет набор навигационных ссылок. Не каждая ссылка принадлежит <nav>; он предназначен только для крупных блоков навигации. Программы чтения с экрана могут использовать его, чтобы решить, пропускать ли этот контент сначала.

Пример

Набор навигационных ссылок.

Prompt
Страница с элементом nav, содержащим набор основных навигационных ссылок: HTML, CSS, JavaScript и jQuery, разделённых вертикальными чертами.
Результат: полная HTML-страница

Элемент HTML <aside>

Элемент <aside> содержит контент, обособленный от окружающего содержимого, например боковую панель. Он должен быть лишь косвенно связан с окружающим содержимым.

Простой aside

Aside рядом с абзацем.

Prompt
Страница с абзацем о посещении Эпкота, а также элементом aside, дающим дополнительную, косвенно связанную информацию о центре Эпкот.
Результат: полная HTML-страница

Оформлено с помощью CSS

Aside, оформленный как плавающая боковая панель.

Prompt
Страница, использующая CSS для стилизации элемента aside как обтекаемой справа (float), курсивной, светло-серой боковой панели рядом с несколькими абзацами о посещении Эпкота.
Результат: полная HTML-страница

Элементы HTML <figure> и <figcaption>

Тег <figure> содержит самодостаточный контент, такой как иллюстрации, диаграммы, фотографии или листинги кода. Тег <figcaption> задаёт подпись к figure, размещаясь как первый или последний дочерний элемент, а элемент <img> — само изображение.

Пример

Изображение с подписью figure.

Prompt
Страница, использующая элемент figure для обрамления изображения (pic_trulli.jpg) с подписью figcaption "Fig1. - Трулли, Апулия, Италия."
Результат: полная HTML-страница

Зачем нужны семантические элементы?

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


Семантические элементы в HTML

Некоторые семантические элементы и их назначение: <article> (независимый контент), <aside> (контент, обособленный от страницы), <details> (детали, которые пользователь может показать или скрыть), <figcaption> (подпись к figure), <figure> (самодостаточный контент, например фото), <footer> (подвал), <header> (шапка), <main> (основной контент), <mark> (выделенный текст), <nav> (навигационные ссылки), <section> (раздел), <summary> (заголовок для details) и <time> (дата или время).