嵌套时我应该重新开始标题标记编号吗?

时间:2017-01-17 22:50:02

标签: html5

让我们考虑一本html书籍(远离通常的博客文章示例)。

代码可能如下所示:

<!DOCTYPE html>
<html>
<head>
    <title>The title</title>
</head>

<body>
    <h1>The title</h1>

    <article class="the-book">
        <h2>Chapter I</h2>
        <section>
            <!-- the contents -->
        </section>

        <h2>Chapter II</h2>
        <section>
            <!-- the contents -->
        </section>
    </article>
</body>
</html>

章节中的正确标题编号是什么?重新开始新范围内的编号并再次使用<h1><h2>是否正确?或者我们使用下一个未使用的级别(<h3>)?

我在语义和正确的 HTML5代码的上下文中询问这一点。

1 个答案:

答案 0 :(得分:-1)

最好的方法是保持嵌套有效,无论<article><section>的预期范围如何。换句话说,为了选择<h#>级别,假装<article><section>不存在。

您可能正在考虑HTML5文档大纲算法,但文档大纲算法从未在最终的W3C规范中被推荐。尽管为浏览器保留了大纲语言以了解如何实现支持(最终),但是显然还是针对依赖它的作者发出了警告。

已经removed from the HTML5 specification(6月9日),HTML验证器已经更新,以识别没有浏览器曾经实现它(6月16日),并且没有对浏览器的任何打开错误采取任何措施做任何事情(ChromiumFirefoxWebKitIE / Edge)。

您可以获取最新拍摄heading structure in the HTML 5.2 draft spec,最近截至2018年1月14日(定期更新)。

如果您需要更多上下文或历史记录,我有一篇博文,其中包含指向规范来源的链接。只需转到底部的项目符号列表:http://adrianroselli.com/2016/08/there-is-no-document-outline-algorithm.html