0

我有兴趣看到一些意见,甚至是一些明确的答案,以下查询:

什么范围决定了标题的级别?

我想提出的两个极端如下:

  • 网站范围
  • 部分范围

以下是每个示例:

网站范围

<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 的标记有所不同。注意文章里面's, 标头调平重置。这是为了表示文章内部的标题级别。所以div class="article"中的h1代表文章的主要标题,即标题。body中的h1表示正文的主标题。

会有什么办法?

所以现在我问你,要走的路是什么?这有明确的标准吗?任何答案都非常受欢迎。我主要感兴趣的是大家对此的看法。

4

2 回答 2

3

两者在内容大纲方面的工作方式完全相同......如果您使用正确的分段标签(您在第二个示例中没有)。更改<div class="article"><article>,您的内容将被适当分割。 <body>也是它自己的切片标签,当然还有<section>.

您可以通过将示例插入http://gsnedders.html5.org/outliner/来查看此行为——第一个示例按您的意图工作(我相信)。第二个没有,但是如果您更改<div><article><section>在第二个中,它看起来就像第一个一样。

我认为网络更倾向于支持第二种方法,而不是选择适当的<h*>标签级别。

于 2013-02-24T17:48:09.077 回答
2

普遍接受的标准是H1每页一个标签。您的开头标题用于描述页面。如果页面需要多个H1标签,那么您可能会错误地组织您的内容,并且应该将其分布在多个页面上。

不幸的是,W3C 没有为此提供指导,而是由开发人员自行决定。H1但是,使用多个标签不是一个好习惯,也绝对不是标准行为。但为什么?

  1. 从可访问性的角度考虑这一点,在您的示例中,没有什么可以概括网页的总体目的,用户被迫查看每个单独的部分以确保他们了解该页面的内容。

  2. 据信,谷歌等主要搜索引擎可能会因过度使用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标签并不代表内容的重要性,而且很多时候标题可能比其标题的内容嵌套得更深,这并没有降低它的相关性 - 想想你的第二个例子在这种情况下如何工作。

于 2013-02-24T17:32:48.883 回答