标题层次结构网站或部分作用域?

时间:2013-02-24 17:27:11

标签: html header semantics

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

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

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

  • 网站范围
  • 部分范围

以下是每个例子:

网站范围

<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 表示正文的主标题。

会是什么样的?

所以现在我问你,走路怎么样?这有明确的标准吗?任何答案都非常欢迎。我主要对每个人的观点感兴趣。

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:2)

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

不幸的是,W3C没有为此提供指导,并由开发人员自行决定。但是,使用多个H1标记并不是一种好的做法,绝对不是标准行为。 但为什么?

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

  2. 据信Google等主流搜索引擎可能会受到惩罚 您的网站过度使用H1标记。 (http://www.youtube.com/watch?feature=player_embedded&v=GIn5qJKU8VM

  3. 然而,W3C确实声明:

      

    HTML中有六个级别的标题,其中H1是最重要的   和H6是最少的。

    http://www.w3.org/TR/html4/struct/global.html#h-7.5.5

    通过使用多个H1代码,您将网页的多个部分标记为最重要的部分。

    根据你的问题加以说明。 H1应由网页范围处理,您可以使用较低级别的标题来表示不同的部分。将标题层次结构想象为树,H1是树桩,每个较低层标题从树枝上分支出来。 div标记不代表内容的重要性,很多时候标题可能嵌套得比标题内容更深,这不会使它更不相关 - 想想你的第二个例子在这种情况下是如何工作的。