Если вы используете список для добавления семантики в хронологическом порядке к публикациям в блоге, и, как @Tomas упомянул, что каждая статья является автономной, то ваш код в порядке (хотя я бы удалил содержащую section
, хотя - без названияи не нужно).
Однако, как вы говорите, есть некоторая дополнительная разметка.Если вы хотите использовать меньше HTML, вы можете удалить список.Вы можете подумать, что вы потеряли семантику хронологического порядка, но на самом деле вы можете сделать это лучше, используя time
с атрибутом pubdate
.Это будет выглядеть следующим образом:
<article>
<header>
<h2>The lolcat singularity</h2>
<time datetime="2010-05-24" pubdate="pubdate">Today</time>
</header>
<p>…</p>
</article>
<article>
<header>
<h2>The internet is made of cats</h2>
<time datetime="2010-05-23" pubdate="pubdate">Yesterday</time>
</header>
<p>…</p>
</article>
Если вы создаете список статей на главной странице, вам нужно решить, является ли контент отдельным (то есть вы бы сделали подачу из резюме статей).).Если так, то приведенный выше код все еще в порядке.Если аннотации слишком короткие, чтобы быть самодостаточными, вы можете использовать список, но на этом этапе вы не имеете дело с семантикой «статьи», поэтому ваши оригинальные имена классов будут немного вводить в заблуждение:
<ol class="article-list">
<li>
<h2>Article A</h2>
<p>Some text</p>
</li>
<li>
<h2>Article B</h2>
<p>Some text</p>
</li>
<li>
<h2>Article C</h2>
<p>Some text</p>
</li>
</ol>
и выберите с помощью .article-list li {}
или .article-list h2 {}
и т. Д.
В действительности я в итоге использовал упорядоченный список, содержащий article
с time pubdate
- подход семантического пояса и подтяжек.Теперь я задаюсь вопросом, должен ли я сам удалить список :) Вы также можете увлечься hAtom, но учтите, что ARIA role="article"
не следует использовать в элементах списка.
Хотя HTML5 - это эволюциявы получите максимальную выгоду от выброса старого кода, начиная с контента и хорошего руководства по спецификации, и заканчивая разметкой с нуля.НТН!