开发者生态
morning
上
2026-05-23
1 阅读
ravenical
简介
- 或描述列表元素被低估了。它用于表示名称-值对的列表。这是一种常见的 UI 模式,同时用途广泛。例如,您可能在野外见过这些布局……每个示例都显示一个(或多个)名称-值对列表。您可能还见过用于描述住宿设施的名称-值对列表,或列出每月租金或技术术语词汇表中的个人费用。其中每一个都是用
- 和
- 。我们从
- 开始。这是描述列表,[注 1] 类似于使用
- (描述术语的缩写)作为名称,并使用
- (描述细节的缩写)作为值。 [ note 2 ] 复制代码 < dl > < dt > 标题 dt > < dd > 使用 Web 标准进行设计 dd > dl > 要向列表中添加另一个名称-值对,我们添加另一个
- 和
- :复制代码 < dl > < dt > 标题 dt > < dd > 使用 Web 标准进行设计 dd > < dt > 发布者 dt >
- 新骑士酒吧;第三版(2009 年 10 月 19 日) dd > dl > 但是等等 — 如果我有一个具有多个值的术语怎么办?例如,如果这本书有多个作者怎么办?没关系!一个
- 可以有多个
- :复制代码
- 标题
- 使用Web标准进行设计
- 作者
- Jeffrey Zeldman
- Ethan Marcotte
- 出版商
- New Riders Pub;第三版(2009 年 10 月 19 日) dd > dl > 对于大多数基本用例,还有最后一个描述列表剖析需要查看:如果我出于样式原因想要包装
- 及其
- 该怎么办?在这种情况下,规范允许您将
- 及其
- 包装在 中:复制代码 < dl > < div > < dt > Title dt > < dd > 使用 Web 标准进行设计 dd > div > < div > < dt > Author dt > < dd > Jeffrey Zeldman dd > < dd > Ethan Marcotte dd > div > < div > < dt > 出版商 dt > < dd > 新骑士酒吧;第三版(2009 年 10 月 19 日) dd > div > dl > 像这样的包装这有关于这本书的所有信息,对吗?如果一系列嵌套的是唯一可以包装这些
- /
- 组的元素。就是这样!这就是描述列表的剖析,HTML 标记名称-值组列表的语义方式!为什么我们需要语义呢?在我们了解
- 、
- 和
- 元素之前,我的团队一直使用嵌套的 来实现此模式。它看起来很像: 复制代码 < div class = " book-details " > < div class = " book-details--item " > < div class = " book-details--label " > 标题 div > < div class = " book-details--value " > 使用 Web 标准进行设计 div > div > < div class = " book-details--item " > < div class = " book-details--label " > 作者 div > < div class = " book-details--value " > Jeffrey Zeldman div > < div class = " book-details--value " > 伊桑·马科特 div > div > < div class = " book-details--item " > < div class = " book-details--label " > 出版商 div > < div class = " book-details--value " > New Riders Pub;第三版(2009年10月19日)
之类的东西可以完成工作,为什么我们首先需要名称-值组列表的语义?在确定语义元素是否适合给定模式时,我发现这样问是有帮助的:“如果计算机能够识别这种模式,我们可以获得什么好处——甚至是理论上的好处?”在这种情况下,如果浏览器能够以某种方式识别名称-值组列表,我们可以获得什么提升?这个问题的答案会多种多样。我倾向于花费大量时间来倡导网络可访问性,因此我的第一个想法往往是屏幕阅读器如何解释该模式。我突然想到屏幕阅读器用户可以从识别这种模式的屏幕阅读器中获得一些好处:屏幕阅读器可以告诉用户列表中有多少个名称/值组。屏幕阅读器可以告诉用户他们距离列表有多远。屏幕阅读器可以将该列表视为一个块,如果用户对此不感兴趣,则可以跳过该块。所有这些都可以使列表比一系列嵌套的更有用,后者会将列表中的每个名称和值视为独立的文本节点。如果您可以从用户设备识别模式中提出一些甚至理论上的提升,那么该模式很可能是具有某些关联语义的有力候选者。这些屏幕阅读器的价值在于
- 表示无序列表或使用
- 表示有序列表。复制代码
- 元素表示的候选者。那看起来是什么样子的呢?描述列表的剖析 我一直在说“
- ”,但实际上,我谈论的是三个独立的元素:
- 、