Книга: HTML5 для веб-дизайнеров
article
article
Для лучшего понимания можно представить, что элементы header
, footer
, nav
и aside
– это специализированные формы элемента section. Секция – это общий блок связанного содержимого, а шапки, подвалы, навигационные блоки и боковые колонки – блоки особого связанного содержимого.
Элемент article
– еще один особый вид section
. Его следует использовать для самостоятельного связанного содержимого. Теперь сложная часть – это решить, что значит «самостоятельный».
Задайте себе вопрос, стали бы вы передавать это содержимое в RSS или Atom-ленте. Если в таком конктексте это содержимое имеет смысл, тогда, скорее всего, article
– нужный вам элемент. На самом деле элемент article спроектирован специально для агрегирования.
Если внутри article
вы используете элемент time, можете добавить к нему необязательный булев атрибут pubdate
, чтобы указать, что он содержит дату публикации:
<article>
<header>
<h1>Отзыв на книгу Скрипты для DOM</h1>
</header>
<p>Маленький маяк, который освещает длинную и зачастую темную дорогу в мире JavaScript.</p>
<footer>
<p>Опубликовано в
<time datetime=?2005-10-08T15:13? ачастую темную дорогу в мире JavaScript.</p>
<footer>
<p>Опубликовано в
<time datetime="2005-10-08T15:13" pubdate>
15:13 8 октября 2005 года.
</time>
автор: Гленн Джонс</p>
</footer>
</article>
Если внутри статьи у вас есть несколько элементов time
, то атрибут pubdate
может быть только у одного из них.
Элемент article
особенно хорошо применим для записей в блогах, новостных репортажей, комментариев, оценок, записей на форумах. Он покрывает ровно те же сценарии, что и микроформат hAtom
.
Но спецификация HTML5 идет дальше. Она также объявляет, что элемент article
должен использоваться для самостоятельных виджетов: графиков акций, калькуляторов, часов, виджетов погоды и тому подобного. В этом случае элемент article
пытается закрыть те же сценарии, что Web Slices компании Microsoft (http://bkaprt.com/html5/8)[13].
Мне кажется совершенно непонятным интуитивно, что элемент с названием «статья» должен применяться к концепту, известному как «виджет». Но, опять же, и статьи, и виджеты – самостоятельные, агрегируемые типы содержимого.
Что более проблематично – это то, что article
и section
очень во многом похожи. Все, что их разделяет, – слово «самостоятельный». Решить, какой элемент к чему относится, было бы просто при четких и быстрых правилах. В данном же случае все зависит от интерпретации. У вас может быть много статей внутри секции, много секций внутри статьи, можно создавать вложенные секции в секциях и статьи в статьях. Вы решаете, какой элемент больше подходит семантически в той или иной конкретной ситуации.