我已经搜索过,但没有提出任何有用的答案,所以这里有:
如果HTML5 <header>
标记内部只有一个<hx>
标记,那么它是不必要的吗?例如,我有以下HTML5标记:
<article>
<header>
<h1>Heading Title</h1>
</header>
...
</article>
从HTML5语义的角度来看,当<hx>
中只有一个<header>
标记而没有其他内容时,<header>
标记是不必要/冗余的,我应该这么做相反:
<article>
<h1>Heading Title</h1>
...
</article>
答案 0 :(得分:3)
是的,在这种特定情况下没有必要。这意味着,您可以使用header
(这不会是错误的),但也不是必需的。
header
(与footer
和address
一起)用于标记部分的内容,该内容不被视为主要内容{{ 3}}。一个部分可以是of that section(如body
)或sectioning root(如article
)元素。
因此,当您的标题包含多个标题元素(例如sectioning content)时,您应该使用header
元素,否则不清楚此内容是否属于标题或主要内容。但是在单个标题元素的情况下,a subtitle清楚地表明:节中的第一个标题元素是该节的标题。
答案 1 :(得分:2)
header
spec ajp15243强调我的:
标题元素通常包含节标题(h1-h6元素),但不需要。 header元素还可用于包装部分的目录,搜索表单或任何相关徽标。
如果您拥有的只是一个(根据您的示例)<h1></h1>
,那么您的文档不需要<header>
标记才能正确形成并且语义正确。
您可能会发现将<header>
元素作为包装器可以帮助您稍后使用CSS设置h1
样式,但就本案例中的HTML而言,您在语义上很好有或没有<header>
。