在HTML5中,最好使用<section>和<h1>而不是</h1> <h2> - </h2> <h6>?</h6> </section>

时间:2010-12-20 18:51:15

标签: html5

在研究HTML5的新版标签时,我想知道h1,h2,h3,h4,h5和h6标签的处理......

HTML5规范说“[h1,h2等]元素代表其各个部分的标题”(http://www.w3.org/TR/html5/sections.html#the-h1-h2-h3-h4-h5-and-h6-elements)。此外,在规范的“4.4.11标题和部分”部分中,目前有三个构建关于苹果的文档的示例。

如果我们遵循第一个规范,其中指出标题元素“应该代表其部分的标题”,那么第三个苹果示例似乎是大多数正确的结构(即,使用h1标签在每个部分和小节中标题)。使用这个逻辑似乎很少使用h2,h3,h4,h5和h6标签,如果有的话。

这就是我想知道的:如果实际上它们基本上标记了小节,那么真的应该使用h2,h3,h4,h5或h6标签吗?使用section标签来分隔各个部分是不是更有意义,每个部分都有自己的标题,而不是依赖于h2,h3等来启动隐式部分? (“标题和部分”部分还讨论了使用h2,h3等隐含的部分。)

也许这是我的关系数据库知识导致偏见,但创建多个标题标记数字(h 1 ,h 2 ,h 3 )从某种程度上来说,它们似乎都是不好的做法,但从技术上讲,它们各自都是自己的部分或小节。

你有什么想法?

4 个答案:

答案 0 :(得分:4)

似乎规范甚至声明h1优先于所有其他人:

  

章节可能包含任何等级的标题,但强烈建议作者只使用h1元素,或者使用适当等级的元素作为该部分的嵌套级别。

然而令我不安的是:

  

还鼓励作者明确地将部分包含在切片内容的元素中,而不是依赖于在切片内容的一个元素中具有多个标题而生成的隐式部分。

现在很高兴我们得到了部分,文章,导航和旁边用来防止div-itis。但是如果我们需要明确地为每个部分使用section元素而不是我们最终有更多的section元素,那么我们就有了div。我觉得有一个很好的例子,它会出现。

答案 1 :(得分:2)

我同意@Robert。这听起来像是一个在部分内使用“h”标签的情况,或隐含部分的h1..n标签。在一节中允许hn只是多余的。

答案 2 :(得分:1)

使用这些标记时有隐含的层次结构。 h2部分低于h1; h3低于h2等。它们是子部分。我不确定为什么会导致断开连接。如果你只有一个级别的子部分,那么你只会使用h1。

我认为你反对的是<section>标签可以提供类似的分层功能,但<section>标签是HTML的新内容(通常就是这种情况),因为还有另一种方式这样做并不意味着规范的改变就会打破旧的方式。

答案 3 :(得分:1)

这可能只是我对新规范的解释,但......在我看来,<h1> - <h6>标签开始被降级为印刷层级的责任而非真实切片标签。

whatwg.org确实清楚地指明了section标签可以从H1标签开始,面对我已经了解的SEO最佳实践,这种方式只有每页定义一个。

这让我相信这是html可以移动的方向...... <section>是一个部分的“机器”可读组件,而标题标签将是人类友好元素。