HTML5 - Элемент article

Содержание:
  1. Назначение элемента article
  2. Применение элемента article
  3. Вложенные элементы article
  4. Комментарии

Статья, в которой рассматривается HTML-элемент article из категории sectioning.

HTML 5 - Элемент article

Назначение элемента article

Элемент article предназначен для создания секции в документе, контент которой представляет собой некоторое завершённое или автономное содержимое. Другими словами, с помощью данного элемента можно добавить смысл в документ, который будет говорить о том, что данный контент является некоторой вещью, и может быть рассмотрен и понят пользователем отдельно от остального содержимого страницы.

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

Применение элемента article

Например, рассмотрим использование элемента article для разметки поста блога:

HTML
<article>
  <!-- Заголовок поста -->
  <header>
    <h1>Тема поста</h1>
    <p>
      <time datetime="2015-10-09">
        Дата публикации
      </time>
    </p>
  </header>
  <!-- Основное содержимое поста -->
  <p>...</p>
  <!-- Футер поста -->
  <footer>
    <!-- Содержимое футера -->
  </footer>
</article>

HTML 5 - Применение элемента article

Вложенные элементы article

При создании структуры документа спецификация HTML 5 позволяет помещать одни элементы article в другие. Это используется для того, чтобы показать то, как контенты этих элементов относятся друг к другу. А именно передать то, что содержимое дочерних элементов article связано с содержимым родительского элемента article.

Например, рассмотрим фрагмент кода, содержащий статью с комментариями.

HTML
<article>
  <!-- Заголовок статьи -->
  <header>
    <h1>Тема статьи</h1>
    <p>
      <time datetime="2015-10-09">
        Дата публикации
      </time>
    </p>
  </header>
  <!-- Основное содержимое статьи -->
  <p>...</p>
  <!-- Секция статьи, содержащая комментарии -->
  <section>
    <!-- Заголовок секции, содержащей комментарии -->
    <h1>Комментарии</h1>
    <!-- 1 комментарий к статье -->
    <article>
      <!--Футер 1 комментария-->
      <footer>
        <p>Автор комментария</p>
        <p>
          <time datetime="2015-10-10">
            Дата комментария
          </time>
        </p>
      </footer>
      <!-- Содержимое 1 комментария -->
      <p>
        Текст комментария...
     </p>
    </article>
    <!--2 комментарий к статье-->
    <article>
      <!--Футер 2 комментария-->
      <footer>
        <p>Автор комментария</p>
        <p>
          <time  datetime="2015-10-11">
            Текст комментария
          </time>
        </p>
      </footer>
      <!-- Содержимое 2 комментария -->
      <p>
        Содержимое комментария...
     </p>
    </article>
 </section>
</article>

HTML 5 - Применение элементов article для создания структуры статьи, содержащей комментарии

Вышеприведенный пример будет иметь следующую структуру (outline):

HTML
[article] Тема статьи
  [section] Комментарии
    [article] Untitled
    [article] Untitled
Примечание: Согласно спецификации HTML5, элемент article не может иметь элемент main в качестве своего потомка.

Комментарии: 2

Vladimir
Vladimir
Если разделение на неявные секции происходит внутри явных секций и взаимосвязь неявных секций не выходит за пределы явных, то должно быть так:
[article] Untitled
  [header] Тема статьи
  [section] Комментарии
    [article] Untitled
    [article] Untitled
Я правильно понял или нет?

P.S.: спасибо за Ваш труд — очень емко, удобно, структурно, аргументированно, приятно читать.
Александр Мальцев
Александр Мальцев
Спасибо за отзыв!
Да, с помощью <section> вы семантически сгруппировали комментарии, которые являются частью <article> (например, статьи).