abbr 标签必须带 title 属性才生效,且首次出现缩写时须前置全称,HTML5 已废弃 acronym 标签,表格中 th/td 的 abbr 属性亦不合法。
abbr 标签不是“加个标签就完事”的装饰性写法,没配 title 属性等于没用——屏幕阅读器读不出、悬停无提示、SEO 语义归零。
浏览器不会自动推断缩写含义,abbr 的语义完全依赖 title。不写 title,就只是普通文本,无障碍和搜索引擎都感知不到这是缩写。
<abbr>API</abbr> 看起来正常,但鼠标悬停没提示,NVDA/JAWS 不朗读全称<abbr title="Application Programming Interface">API</abbr>
title 值不是可选说明,而是 WCAG 2.1 SC 4.1.2 合规刚需title="JavaScript" 不能写成 title="javascript",否则语音合成器可能读作 /ˈdʒɑːvəskrɪpt/ 而非 /ˈdʒɑːvəˌskrɪpt/光靠 abbr 不足以建立术语认知,用户需要上下文锚点。WCAG 和技术写作规范都要求:专业缩写首次出现时,先写全称 + 括号内缩写。
<p>The <abbr title="World Health Organization">WHO</abbr> published new guidelines.</p> → 错,缺前置全称<p>The World Health Organization (<abbr title="World Health Organization">WHO</abbr>) published new guidelines.</p>
<abbr title="World Health Organization">WHO</abbr>,无需重复全称NASA 对应 "National Aeronautics and Space Administration",不是 "National Air and Space Agency"acronym 是 HTML4 遗留标签,HTML5 已明确废弃,所有主流浏览器虽仍能渲染,但语义解析已统一归入 abbr。
立即学习“前端免费学习笔记(深入)”;
<acronym title="Cascading Style Sheets">CSS</acronym>
<abbr title="Cascading Style Sheets">CSS</abbr>
abbr
acronym,需在模板层或后处理中替换表格单元格曾有 abbr 属性(如 <th abbr="Revenue">Rev</th>),但它在 HTML5 中被移除,不再合法。
Attribute abbr not allowed on element th at this point
<th><abbr title="Revenue">Rev</abbr></th> 或使用 aria-label(当内容不可见时)abbr 标签的 title 依然有效,但仅对视觉用户和屏幕阅读器起作用;若需兼容旧版辅助技术,建议配合 scope 和 headers 属性构建表结构语义最易被忽略的点是:很多人以为加了 abbr 就完成了可访问性,其实真正起效的是 title 的准确性、大小写一致性、以及首次出现时是否前置全称——这三者缺一不可,否则等于白标。