如果HTML5 <header>标签内部只有一个<hx>标签,那么它是不必要的吗?</hx> </header>

时间:2014-08-14 16:38:20

标签: html html5 semantics semantic-web semantic-markup

我已经搜索过,但没有提出任何有用的答案,所以这里有:

如果HTML5 <header>标记内部只有一个<hx>标记,那么它是不必要的吗?例如,我有以下HTML5标记:

<article>

   <header>
      <h1>Heading Title</h1>
   </header>

   ...

</article>

从HTML5语义的角度来看,当<hx>中只有一个<header>标记而没有其他内容时,<header>标记是不必要/冗余的,我应该这么做相反:

<article>

   <h1>Heading Title</h1>

   ...

</article>

2 个答案:

答案 0 :(得分:3)

是的,在这种特定情况下没有必要。这意味着,您可以使用header(这不会是错误的),但也不是必需的。

header(与footeraddress一起)用于标记部分的内容,该内容不被视为主要内容{{ 3}}。一个部分可以是of that section(如body)或sectioning root(如article)元素。

因此,当您的标题包含多个标题元素(例如sectioning content)时,您应该使用header元素,否则不清楚此内容是否属于标题或主要内容。但是在单个标题元素的情况下,a subtitle清楚地表明:节中的第一个标题元素是该节的标题。

答案 1 :(得分:2)

上面提到的From the first Note section on the W3C's header spec

ajp15243强调我的:

  

标题元素通常包含节标题(h1-h6元素),但不需要。 header元素还可用于包装部分的目录,搜索表单或任何相关徽标。

如果您拥有的只是一个(根据您的示例)<h1></h1>,那么您的文档不需要<header>标记才能正确形成并且语义正确。

您可能会发现将<header>元素作为包装器可以帮助您稍后使用CSS设置h1样式,但就本案例中的HTML而言,您在语义上很好有或没有<header>