HTML5 标题:HTML 验证器是否过时



W3C在他们的HTML5部分推荐中说,

<body>
    <h1>Let's call it a draw(ing surface)</h1>
    <h2>Diving in</h2>
    <h2>Simple shapes</h2>
    <h2>Canvas coordinates</h2>
    <h3>Canvas coordinates diagram</h3>
    <h2>Paths</h2>
</body>

<body>
    <h1>Let's call it a draw(ing surface)</h1>
    <section>
        <h1>Diving in</h1>
    </section>
    <section>
        <h1>Simple shapes</h1>
    </section>
    <section>
        <h1>Canvas coordinates</h1>
        <section>
            <h1>Canvas coordinates diagram</h1>
        </section>
    </section>
    <section>
        <h1>Paths</h1>
    </section>
</body>

是"语义等价的"。

如果是这样,为什么 W3C HTML 验证器对后一个示例发出警告?

它说到第二个例子:

警告:请考虑仅将 h1 元素用作顶级标题 (所有 H1 元素都被许多屏幕视为顶级标题 阅读器和其他工具)。

验证人错了吗?

No.

验证器警告野外软件在现实世界中的行为。许多软件包仍然没有实现部分元素的 HTML 5 大纲逻辑。

根据维基百科,语义等价意味着两个数据元素具有相似的含义。

这两个示例最终是相似的,并且在渲染时看起来几乎相同。但是,这确实意味着它们是完全相同的。
由于SEO原因,当在部分标签之外使用H1然后在其他地方使用时,HTML5验证器将抛出警告。

最新更新