自从引入 HTML5 以来,这一直困扰着我一段时间:
在我们的一些设计中,页眉实际上是您正在查看的文章的标题,这会导致大纲中缺少标题(因为 h1 在文章中,而不是正文的直接子项)。
对付这种情况有什么好的做法?
我不喜欢简单地将隐藏的 h1 倾倒在正文中,因为这不是页面排名的最佳主意。
我知道理想情况下设计会考虑到这些事情,但有时(作为开发人员)这不是你的选择。
自从引入 HTML5 以来,这一直困扰着我一段时间:
在我们的一些设计中,页眉实际上是您正在查看的文章的标题,这会导致大纲中缺少标题(因为 h1 在文章中,而不是正文的直接子项)。
对付这种情况有什么好的做法?
我不喜欢简单地将隐藏的 h1 倾倒在正文中,因为这不是页面排名的最佳主意。
我知道理想情况下设计会考虑到这些事情,但有时(作为开发人员)这不是你的选择。
从HTML 草案:
当页面的主要内容(即不包括页脚、页眉、导航块和侧边栏)都是一个独立的组合时,应该用主要元素标记内容,也可以用文章标记内容,但在这种情况下,它在技术上是多余的(因为不言而喻,页面是单个组合,因为它是单个文档)。
据此,您应该放下article
容器并仅使用main
.
更新(2013 年 11 月 8 日)
好吧,我知道没有标题的部分没有吸引力,但目前(HTML 主草案,2013 年 11 月)没有逃避:<body>
元素是部分的根,总是开始一个部分并显示在大纲中。大纲如:
The main article title
└── Related articles
Latest News
Latest Blog Posts
以 HTML5 兼容的方式使用当前的大纲算法根本不可能(您需要将兄弟姐妹添加到<body>
.
由于您正在考虑向 W3C 提出建议,因此有一个想法:也许文档的大纲应该默认为<title>
.