让我们考虑一本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代码的上下文中询问这一点。
答案 0 :(得分:-1)
最好的方法是保持嵌套有效,无论<article>
和<section>
的预期范围如何。换句话说,为了选择<h#>
级别,假装<article>
和<section>
不存在。
您可能正在考虑HTML5文档大纲算法,但文档大纲算法从未在最终的W3C规范中被推荐。尽管为浏览器保留了大纲语言以了解如何实现支持(最终),但是显然还是针对依赖它的作者发出了警告。
已经removed from the HTML5 specification(6月9日),HTML验证器已经更新,以识别没有浏览器曾经实现它(6月16日),并且没有对浏览器的任何打开错误采取任何措施做任何事情(Chromium,Firefox,WebKit,IE / 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