HTML定义列表(dl/dt/dd)的语义化应用:何时该用,何时不该用

浅枫小哥_8614

浅枫小哥_8614

2026-08-15

517人浏览

原创

HTML定义列表(dl/dt/dd)的语义化应用:何时该用,何时不该用

、、 是 HTML 中专为「名词–解释」映射关系设计的语义化标签,适用于术语表、API 参数、订单摘要等键值对结构;但不适用于数学计算关系(如价格明细)或二维数据(如带属性的商品清单),此时 或 更符合语义规范。

`

`、`
`、`
` 是 HTML 中专为「名词–解释」映射关系设计的语义化标签,适用于术语表、API 参数、订单摘要等键值对结构;但不适用于数学计算关系(如价格明细)或二维数据(如带属性的商品清单),此时 `` 或 `
    ` 更符合语义规范。

    在构建电商类页面(如订单确认页、结算页)时,开发者常面临一个关键抉择:是否用 <dl></dl> 标签来组织价格明细(如“商品小计”“运费”“税费”“总计”)或带描述的商品项? 答案需回归 HTML 的核心设计原则——语义优先,而非视觉相似

    ✅ 正确场景:<dl></dl> 的典型适用领域

    <dl></dl> 的本质是表达 非顺序性、非层级性、一对一或多对一的语义关联,即“某个术语(term)对应一段或多段解释(description)”。以下用法完全合规且推荐:

    • 订单基本信息摘要(非计算型键值对)

      @@######@@

      ✅ 语义清晰:每个 <dt></dt> 是字段名(名词),<dd></dd> 是其值(解释性内容);屏幕阅读器可准确播报 “订单号:ORD-2024-7890”。

    • API 参数说明、FAQ、术语表、配置项

      @@######@@

      ✅ 支持一词多义(多个 <dd></dd>)、多词一义(连续 <dt></dt> 共享一个 <dd></dd>),且 aria-labelledby 确保无障碍可访问。

    ❌ 误用警示:哪些情况不该用 <dl></dl>

    1. 价格明细(Subtotal / Tax / Total)——应使用 <table> <p>虽然视觉上都是“左标签 + 右数值”,但价格明细隐含 <strong>算术聚合关系</strong>(Subtotal + Tax = Total),属于典型的二维结构化数据,语义上更接近表格而非定义关系。</p><div class="aritcle_card flexRow artxards"> <div class="artcardd flexRow"> <a class="aritcle_card_img" rel="nofollow" href="/xiazai/skill3458" title="html-ppt-to-pdf"><img src="https://img.php.cn/upload/skill/000/000/081/178956546773641.jpg" alt="html-ppt-to-pdf" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a> <div class="aritcle_card_info flexColumn"> <a rel="nofollow" href="/xiazai/skill3458" title="html-ppt-to-pdf" class="overflowclass">html-ppt-to-pdf</a> <p class="overflowclass">将使用 `<section class="slide">` 约定的 HTML 幻灯片转换为高保真、矢量文本 PDF(使用 Playwright + Chromium 原生 PDF 功能)。</p> </div> <a rel="nofollow" href="/xiazai/skill3458" title="html-ppt-to-pdf" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a> </div> </div>@@######@@<p>✅ 正确做法:使用 <code><table>,并利用 <code><tfoot> 明确标注汇总行:@@######@@<blockquote><p>✅ <code><tfoot> 的语义正是“列汇总”,与屏幕阅读器、打印样式、辅助技术天然兼容;而 <code><dl></dl> 无法表达“加总”逻辑,易导致读屏器误读为独立术语。

    2. 带属性的商品清单(如汉堡配料说明)——应使用 <ul></ul> + <li> + <figure></figure> 或嵌套 <dl></dl>

    若商品本身是列表项(如“经典牛肉汉堡 × 2”),其附加说明(“含生菜、番茄、特调酱汁”)属于该商品的附属描述,而非独立术语定义。

    @@######@@

    ✅ 推荐结构:主列表用 <ul></ul>,每项内用 <dl></dl> 描述属性(语义嵌套合理):

    @@######@@

    <ul></ul> 表达“订单中多个独立商品”,内部 <dl></dl> 聚焦单个商品的属性键值对,层次清晰,语义无歧义。

    ⚙️ 实战建议:CSS 重置与可访问性增强

    浏览器对 <dd></dd> 的默认缩进(约 40px)易引发布局错位。推荐使用现代 CSS 统一控制:

    @@######@@

    同时务必注意:

    • 避免给 <dt></dt><dd></dd> 添加 aria-label —— 会覆盖真实文本,破坏可访问性;
    • 若需标题,用 <h3 id="title">...</h3> + <dl aria-labelledby="title"></dl>
    • 不要用 <dl></dl> 替代 <ol></ol> 做步骤流程,也不用于纯横向两栏布局(应选 Flex/Grid)。

    ✅ 总结:一句话判断准则

    当内容可被自然表述为“X 是……”或“X 指的是……”时,用 <dl></dl>;当内容涉及运算、排序、多维属性或并列实体时,请选择 <table> 或 <code><ul>/</ul> <ol></ol>

    语义不是装饰,而是网页的骨架——它决定屏幕阅读器如何朗读、搜索引擎如何理解、浏览器如何打印、未来机器如何解析。用对 <dl></dl>,不只是写得“看起来整齐”,更是让信息真正可被世界读懂。


订单号
ORD-2024-7890
下单时间
收货地址
北京市朝阳区XX路1号
张三 / 138****1234
<h3 id="api-params">请求参数</h3>
user_id
用户唯一标识符,必填,类型为字符串。
page_size
每页返回条数,默认 20,取值范围 1–100。
注意:超出范围将被截断为合法值。
<!-- ❌ 语义错误:用 dl 表达计算关系 -->
商品小计
$200.00
税费
$40.00
总计
$240.00

商品小计 $200.00
税费 $40.00
总计 $240.00
<!-- ❌ 混淆层级:把商品当术语、把描述当定义 -->
经典牛肉汉堡 × 2
含生菜、番茄、特调酱汁
额外添加:双层芝士、培根

  • 经典牛肉汉堡 × 2
    配料
    生菜、番茄、特调酱汁
    加料
    双层芝士、培根
  • 薯条大份 × 1
    备注
    少盐,配番茄酱
dl {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 0.25em 1em;
  margin: 0;
}
dt {
  font-weight: 600;
  margin-bottom: 0.25em;
}
dd {
  margin: 0;
  grid-column: 2; /* 强制所有 dd 对齐第二列 */
}

前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!

相关文章

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

html

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
html版权符号
html版权符号

html版权符号是“©”,可以在html源文件中直接输入或者从word中复制粘贴过来,php中文网还为大家带来html的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

2023.06.14

4915

7

html在线编辑器
html在线编辑器

html在线编辑器是用于在线编辑的工具,编辑的内容是基于HTML的文档。它经常被应用于留言板留言、论坛发贴、Blog编写日志或等需要用户输入普通HTML的地方,是Web应用的常用模块之一。php中文网为大家带来了html在线编辑器的相关教程、以及相关文章等内容,供大家免费下载使用。

2023.06.21

2872

4

html网页制作
html网页制作

html网页制作是指使用超文本标记语言来设计和创建网页的过程,html是一种标记语言,它使用标记来描述文档结构和语义,并定义了网页中的各种元素和内容的呈现方式。本专题为大家提供html网页制作的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.31

2530

5

html空格
html空格

html空格是一种用于在网页中添加间隔和对齐文本的特殊字符,被用于在网页中插入额外的空间,以改变元素之间的排列和对齐方式。本专题为大家提供html空格的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.01

2559

5

html是什么
html是什么

HTML是一种标准标记语言,用于创建和呈现网页的结构和内容,是互联网发展的基石,为网页开发提供了丰富的功能和灵活性。本专题为大家提供html相关的各种文章、以及下载和课程。

2023.08.11

4539

6

html字体大小怎么设置
html字体大小怎么设置

在网页设计中,字体大小的选择是至关重要的。合理的字体大小不仅可以提升网页的可读性,还能够影响用户对网页整体布局的感知。php中文网将介绍一些常用的方法和技巧,帮助您在HTML中设置合适的字体大小。

2023.08.11

2521

3

html转txt
html转txt

html转txt的方法有使用文本编辑器、使用在线转换工具和使用Python编程。本专题为大家提供html转txt相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.31

2289

3

html文本框代码怎么写
html文本框代码怎么写

html文本框代码:1、单行文本框【<input type="text" style="height:..;width:..;" />】;2、多行文本框【textarea style=";height:;"></textare】。

2023.09.01

2108

6

HTML嵌入CSS样式的方法
HTML嵌入CSS样式的方法

HTML嵌入CSS样式的方法有内联样式、内部样式表和外部样式表。本专题为大家提供CSS样式相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.20

2068

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
GDB 17.2 官方文档集合
GDB 17.2 官方文档集合

共0课时 | 0人学习

Bootstrap 入门安装配置
Bootstrap 入门安装配置

共0课时 | 0人学习

38+ PhpStorm 提示和技巧
38+ PhpStorm 提示和技巧

共1课时 | 204人学习