首页 > web前端 > css教程 > 最近的文档综述大纲

最近的文档综述大纲

Christopher Nolan
发布: 2025-03-11 10:20:10
原创
482 人浏览过

Roundup of Recent Document Outline Chatter

HTML标题最近成为热门话题,原因是WHATWG实时标准中合并删除了文档大纲算法。

首先,您应该知道该算法实际上从未真正存在过。当然,它在规范中。当然,规范中也警告过不要使用它。但正如Bruce Lawson提醒我们的那样,没有浏览器实现过它。我们一直生活在一个扁平的文档结构中。

这已经是非常旧的消息了。Adrian Roselli从2013年起就开始撰写关于文档大纲谬论的文章。但他的2016年题为“不存在文档大纲算法”的文章全面地阐述了这一点,并定期更新,增加了关于相关对话和斗争的额外背景信息。这确实是关于此事件的最佳时间线。Amelia Bellamy-Royds也曾在CSS-Tricks上深入探讨过这个问题的根源。

我立刻想到的是,为支持分区的文档大纲算法所做的所有工作。从规范中删除它当然是正确的做法,但这并不能减少为它所付出的巨大努力,即使它现在被埋在某个版本历史中。我还想到所有那些好意地撰写关于该算法错误文章的人(包括在这个网站上!),他们期望它即将出现。由于似乎缺乏行动,我们积累了近七年的精神和技术债务。

撇开“算法正式不存在了”这个消息不谈,Bruce 惋惜的是,没有通用的<h></h>元素或类似的元素可以进行分区以生成正确的标题级别。我同意。让一个元素基本上作为公开的<title></title>存在是具有约束性的,特别是由于页面很少围绕单个包含单个顶级标题的文章进行结构化。我经常发现自己每次制作某种卡片组件时都会感到痛苦,在这些组件中使用###在技术上可能是正确的,但感觉顺序不对。这甚至在我们讨论样式考虑之前,其中较低的标题级别现在需要看起来像不同的较高标题级别。

谈到标题级别管理,Steve Faulkner(他编写了从规范中删除该算法的PR)对使用<hgroup></hgroup>元素处理涉及子标题、副标题、替代标题和标语的标题模式进行了非常实用的概述。我相信您在实际中见过这样的标记:

<code><h1>令人失望的平均水平</h1>
<h2>Geoff Graham的自传</h2>
<h3>作者:Geoff Graham</h3></code>
登录后复制

这与由标题级别驱动的扁平文档大纲不符。每个标题都代表一个构成信息层次结构的部分:

<code>令人失望的平均水平
└── Geoff Graham的自传
    └── 作者:Geoff Graham</code>
登录后复制

我们想要的是一个标题。这时<hgroup></hgroup>元素就派上用场了:

当嵌套在<hgroup></hgroup>元素中时,该元素的内容表示子标题、替代标题或标语,这些内容不包含在文档大纲中。

因此,我们得到以下结构:

<code><hgroup><h1>令人失望的平均水平</h1>
  <p>Geoff Graham的自传</p>
  <p>作者:Geoff Graham</p>
</hgroup></code>
登录后复制

<hgroup></hgroup>目前的角色是role=generic,但Steve 指出,一个提案可以将其映射到role=group。如果发生这种情况,辅助技术将允许辅助技术将更多语义含义赋予这些段落,作为它们所扮演的副标题和标语部分。听起来很简单,但Steve 指出了阻碍的挑战。他还演示了如何使用ARIA属性在今天实现这种模式。

在我们总结的同时,Matthias Ott发布了一些关于使用标题创建结构化大纲的技巧。查看结尾处关于检查标题大纲的优秀工具列表。

以上是最近的文档综述大纲的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板