我有兴趣看到一些意见,甚至是一些明确的答案,以下查询:
什么范围决定了标题的级别?
我想提出的两个极端如下:
以下是每个例子:
<html>
<body>
<h1>Haunted fishbowls</h1>
<div class="article">
<h2>What does it do to my fish?</h2>
<p>Fish ipsum</p>
<h3>Toiletbowl hauntings?</h3>
<p>Subheader fish ipsum</p>
</div>
<div class="article">
<h2>Stones are sinking upwards</h2>
<p>Weird stuff is happening in my fish bowl today</p>
</div>
</body>
</html>
如您所见,标题级别是在“全局”范围内确定的。即使它对我的鱼做了什么?显然是文章的第一级标题,它是网站的第二级标题,因此标记为 h2
<html>
<body>
<h1>Haunted fishbowls</h1>
<div class="article">
<h1>What does it do to my fish?</h1>
<p>Fish ipsum</p>
<h2>Toiletbowl hauntings?</h2>
<p>Subheader fish ipsum</p>
</div>
<div class="article">
<h1>Stones are sinking upwards</h1>
<p>Weird stuff is happening in my fish bowl today</p>
</div>
</body>
</html>
现在,几乎相同的HTML标记有所不同。请注意,在文章 中,标题调平重置。这是表示文章内部标题的级别。因此, div class =“article”中的 h1 表示文章的主标题,即标题。 正文中的 h1 表示正文的主标题。
所以现在我问你,走路怎么样?这有明确的标准吗?任何答案都非常欢迎。我主要对每个人的观点感兴趣。
答案 0 :(得分:3)
两者在内容概述方面的工作方式完全相同... 如果 您使用正确的切片标记(在第二个示例中没有)。将<div class="article">
更改为<article>
,您的内容将被适当地划分。 <body>
也是自己的分区标记,当然有<section>
。
您可以通过将示例插入http://gsnedders.html5.org/outliner/来查看此行为 - 第一个示例按您的意图运行(我相信)。第二个没有,但如果您在第二个中将<div>
更改为<article>
或<section>
,则看起来就像第一个那样。
我认为网络更倾向于采用第二种方法,而不是选择适当级别的<h*>
标记。
答案 1 :(得分:2)
普遍接受的标准是每页一个H1
标记。您的开头标题用于描述页面。如果该网页需要多个H1
代码,那么您可能会错误地组织您的内容,并且应该分散在多个页面上。
不幸的是,W3C没有为此提供指导,并由开发人员自行决定。但是,使用多个H1
标记并不是一种好的做法,绝对不是标准行为。 但为什么?
在您的示例中,从可访问性的角度考虑这一点 没有什么可以概括网页的总体目的, 用户被迫查看每个单独的部分以确保它们 了解这个页面的内容。
据信Google等主流搜索引擎可能会受到惩罚
您的网站过度使用H1
标记。 (http://www.youtube.com/watch?feature=player_embedded&v=GIn5qJKU8VM)
然而,W3C确实声明:
HTML中有六个级别的标题,其中H1是最重要的 和H6是最少的。
http://www.w3.org/TR/html4/struct/global.html#h-7.5.5
通过使用多个H1
代码,您将网页的多个部分标记为最重要的部分。
根据你的问题加以说明。 H1
应由网页范围处理,您可以使用较低级别的标题来表示不同的部分。将标题层次结构想象为树,H1
是树桩,每个较低层标题从树枝上分支出来。 div
标记不代表内容的重要性,很多时候标题可能嵌套得比标题内容更深,这不会使它更不相关 - 想想你的第二个例子在这种情况下是如何工作的。