有人可以解释为什么包含文章中单个标题的标题元素不好吗?

时间:2014-08-19 10:23:43

标签: html5 semantics html-heading heading

这篇文章" Avoiding common HTML5 mistakes"在HTML5Doctor上说:

  

如果您的元素只包含一个标题元素,请忽略<header>

根据文章,这是不好的做法:

<article>
    <header>  
        <h1>Heading</h1>
    </header>

    <p>Content …</p>
</article>

w3c说:

  

标题元素旨在通常包含标题 h1-h6元素或hgroup元素) ,但这不是必需的。标题元素也可以用于包装部分的目录,搜索表单或任何相关徽标。

现在我很困惑。规范明确指出,它通常只有一个标题。它还可以容纳其他内容。但没有一个是强制性的。

所以在我看来,上面的代码绝对有效且语义正确。

我想象一种情况,<header> - 元素的内容来自CMS,它可能会导致一个完整的标题或只是一个标题。在这种情况下,您必须始终检查元素的内容并相应地添加包装器。似乎不值得努力,对吗?

也许我会忽略一些事情而有人可以推理我,为什么这是不好的做法。

1 个答案:

答案 0 :(得分:0)

重要:您引用的文章已过时且已过时。例如,hgroup在一年前从HTML5规范中删除。理想情况下,您应该尝试查找更新的资源。


那就是说,因为你里面只包含一个元素,所以你的header包装器根本就不需要。您可以完全删除它并将样式直接应用到h1元素上以达到同样的效果:

<article>
    <h1>Heading</h1>
    <p>Content …</p>
</article>