Какой тег HTML5 лучше всего использовать для разметки выдержек из блога?

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

Тег <article> может показаться подходящим (и, конечно, был бы, если бы вы отображали весь контент), но я не уверен, подходит ли он для выдержек. В спецификации говорится :

Элемент article представляет собой автономную композицию в документе, странице, приложении или сайте, которая, в принципе, может независимо распространяться или повторно использоваться, например. в синдикации.

Является ли отрывок самодостаточным и независимо распространяемым фрагментом контента? Я не уверен.

Другими вариантами могут быть тег <blockquote> (но было бы странно цитировать свои собственные сообщения) или просто список <ol> (упорядоченный по дате публикации), содержащий заголовки и абзацы.

Есть предположения?


person Frankie Roberto    schedule 21.12.2010    source источник
comment
Отличный вопрос. В настоящее время я использую тег <article>, хотя я чувствую, что это неудовлетворительно. Возможно, было бы лучше придерживаться семантического элемента <div> или вообще без него, если его нет под рукой?   -  person cboettig    schedule 30.10.2012


Ответы (4)


я бы использовал:

 <li>
    <blockquote cite="original URL">
    </blockquote>
 </li>

<blockquote> наиболее подходит для этого:

Элемент blockquote представляет собой раздел, цитируемый из другого источника.

Цитировать себя не странно. Определение элемента не говорит, что вы должны цитировать кого-то еще. Вы цитируете документ, который находится под другим URL.

Я думаю, что <article> (вместо <li>) было бы приемлемо, но это не обязательно (определение статьи довольно расплывчатое, он должен был называться <infolump> ;)

Моя лакмусовая бумажка для <article> заключается в том, будет ли он полезен в ленте RSS/Atom, а вы можете найти ленту только с выдержками из статей.


Элемент <summary> — это только часть <details>, которая имеет другое назначение.

<aside> описывает роль контента на странице. Когда выдержки составляют основную часть страницы архива, это не совсем второстепенное содержание. OTOH, если бы это был раздел «См. также» на странице сообщения, тогда <aside> был бы идеальным.

person Kornel    schedule 04.02.2013

Я считаю, что наиболее семантический способ сделать это - использовать как <article>, так и <blockquote> в сочетании с <h1>:

<article>
    <h1>Post title here</h1>
    <div class="meta">author, date, categories, tags, whatever</div>
    <blockquote>
        Excerpt
    </blockquote>
    <a href="/full/article">Read full Post</a>
</article>

Статья здесь состоит из того, что вы могли ожидать: заголовок, содержание и некоторые метаданные. Так что эта часть, я думаю, довольно прямолинейна.
Однако она также ссылается на статью, поэтому содержимое заключено в цитату. Он цитирует часть статьи, на которую ссылается. Выдержка – это часть статьи. Часть, которая только что оказалась в начале.

Во всяком случае, этот метод я смог вывести из всей документации и спецификаций.

И да, вы можете использовать несколько тегов <h1> на одной странице, если это имеет смысл. Взгляните на http://html5doctor.com/html5-seo-search-engine-optimisation/:

Новый алгоритм структурирования HTML5 позволяет использовать несколько <h1> на странице. Мы получаем много вопросов о том, будут ли разработчики наказаны Google, который, согласно мифу, запретил это.

Я говорю «миф», потому что Google всегда разрешал использование нескольких <h1> на странице, при условии, что она является органической. вместо того, чтобы пытаться играть в систему.

person Athoxx    schedule 10.08.2013
comment
Аргументом против этого является то, что это можно интерпретировать как объявление полной статьи, чье (очень минимальное) полное содержание состоит из одной цитаты. - person Arild; 08.11.2014

Определенно не в сторону, поскольку выдержки не относятся к чему-то еще на странице. Я думаю, это должна быть статья.

А как насчет <article><summary>Excerpt here</summary></article>?

person Chrisjb    schedule 21.11.2011
comment
единственный допустимый контекст ‹summary› — ‹details›: dev .w3.org/html5/spec/Overview.html#the-summary-element. - person Matt Kantor; 03.03.2012

<aside> кажется подходящим. Согласно спецификации:

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

В этом случае ваши релевантные посты имеют косвенное отношение к содержанию страницы. Я думаю, что это именно тот тип контента, для которого предназначено отступление.

person mVChr    schedule 21.12.2010
comment
Я бы поспорил об этом. Я не думаю, что превью следует рассматривать как дополнительный контент, это больше похоже на <summary> или другое <article> - person Lachezar; 01.11.2011
comment
Я полностью не согласен. На странице архива выдержки из перечисленных сообщений являются содержанием страницы. - person Paul D. Waite; 02.11.2011
comment
Я думаю, это может зависеть от контекста отрывка. Например, у меня есть раздел related articles с выдержками, которые связаны с основным текстом. - person RubenGeert; 27.01.2014