必须紧邻完整定义语句,作为“定义锚点”绑定自洽解释;title属性优先取值,内部文本不可为空;父容器须为语义化块级元素(如、);非首次出现或无定义时禁用。

dfn必须紧邻定义语句,不能单独出现
单独写 DOM 而不接任何解释,就等于没定义——浏览器和屏幕阅读器会忽略它,知识图谱抽取工具也无法识别语义关系。它不是占位符,而是“定义锚点”,必须绑定到一句完整、自洽的定义中。
常见错误现象:
– 列表项里单独列 ,后面没解释
– 标题中用 ,但正文中才开始讲含义Accessibility
– 把 塞进代码块或 里,破坏嵌套规则
实操建议: DOM 是网页内容的编程接口,以树状结构表示 HTML 文档。
– 定义必须出现在同一段落内,例如:
– 若定义跨多段(如先引入再展开), 必须放在第一段的术语上,且后续段落需逻辑连贯、不可中断
title属性优先级最高,但内部文本不能空
提取“被定义术语”的值有严格顺序:先看 title 属性,再看子元素的 title,最后才取自身文本。这意味着 HTML 的语义是定义 “HyperText Markup Language”,不是 “HTML”。
容易踩的坑:
– 写成 ,内部为空,辅助技术无法读出可见词,违反可访问性原则
– 误以为 title 是提示框,给所有 都加冗余说明,反而干扰语义聚焦
– 在缩写场景下把顺序搞反,例如 Document Object Model,实际定义的是字符串 "DOM",而非其含义
正确做法:
– 缩写优先用全称作 title,缩写本身为可见文本:DOM
– 技术函数名等无需展开时,直接用文本:querySelectorAll(),不加 title
父元素必须构成定义上下文,不能随便套div
不是孤立存在的标签,它的语义依赖于祖先节点是否能承载“定义环境”。规范明确要求其最近的块级祖先应是 、、 或 这类语义清晰的容器。
典型错误: 替代方案: 现代浏览器默认给 为什么有人误用: 关键提醒:
– 直接把 当作 —— 这个 语义断裂
– 在表格单元格里用:,缺乏定义上下文支撑viewport
– 换成 包裹整句定义
– 若必须在布局容器中使用,给该容器加 role="definition" 显式声明语义
– 术语表场景优先用 组合
别把它当样式标签,斜体只是浏览器默认行为
加 font-style: italic,但这不是规范要求,也不影响语义。一旦项目用了 CSS 重置(比如全局设 dfn { font-style: normal; }),斜体就没了——这完全合法,且语义依然有效。
– 看到斜体效果,就拿 替代 或 做强调
– 为了“让 API 名看起来专业”而批量包裹所有函数名,不管是否首次定义
– 用 实现视觉高亮,结果导致屏幕阅读器反复播报“这是定义”,打断阅读流
– 真要控制样式,用 class:fetch()
– 如果只是重复提及已定义术语(如后文说“调用 fetch() 时…”),就不要套
– 的价值不在眼睛看到什么,而在机器能否准确提取“术语-定义”这对结构化信息
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











