article元素中h元素的语义



我正在建一个页面,上面有一些新闻项目。

当前的HTML是:

<h1>News</h1>
<article>
  <h2>Item 1</h2>
  <p>Lorem ipsum</p>
  <footer>
    <ul>
      <li>By: me</li>
      <li>31-12-2011</li>
    </ul>
  </footer>
</article>
<article>
  <h2>Item 2</h2>
  <p>Lorem ipsum</p>
  <footer>
    <ul>
      <li>By: me</li>
      <li>31-12-2011</li>
    </ul>
  </footer>
</article>

您可以看到,我使用<h2>作为文章标题。

然而,现在我认为它也应该是一个<h1>,因为它是在文章元素的"范围"。

那么:用什么元素作为新闻标题在语义上是正确的呢?

从HTML5的角度来看,两者都是可以的,并且是相同的。

对于非HTML5感知处理器,h2的排名将被正确理解,而h1不会,所以在目前,虽然HTML5仍然是新的,我宁可谨慎地使用h2,除非你需要超过六个级别的标题。

我认为任何一个在语义上都是正确的。从http://www.w3.org/TR/html5/sections.html #标题和段落:

section可以包含任意秩的标题,但强烈建议作者只使用h1元素,或者在section的嵌套层中使用适当秩的元素。

所以,任何一种方式都可以,但是不要混合搭配,不要(例如)将<h2>放在具有<h2><h3>的section中的section中。

无论如何,规范自己的<article>示例,在http://www.w3.org/TR/html5/sections.html#the-article-element,都使用<h1>

最新更新