abbr标签必须带title属性,否则屏幕阅读器不朗读、悬停无提示、SEO无语义;title值须为标准全称,首次出现应前置全称,且需配合lang等属性保障可访问性。
标签必须带
属性,否则在屏幕阅读器中不朗读全称、鼠标悬停无提示、搜索引擎也收不到语义信号——这不是“可选优化”,而是功能开关。
abbr 的全称展示只依赖 title 属性
浏览器不会自动推断缩写含义,
内容本身只是显示文本,完整释义必须显式写在
里。比如
才能让辅助工具读出“Cascading Style Sheets”;若漏掉
,它就和普通
没区别。
值需与标准全称一致(如 “JavaScript”,不能小写为 “javascript”),否则语音合成器可能拆字误读
首次出现缩写时,建议前置全称 +
,例如:
,再后续才单独用
机构名、技术术语优先采用官网或维基的标准全称,比如
对应
,不是 “World Health Org” 或缩写变体
屏幕阅读器如何处理 abbr
主流屏幕阅读器(NVDA、JAWS、VoiceOver)默认会读出
值,但前提是该元素可聚焦且未被 CSS 隐藏或覆盖。若页面禁用了
提示(如通过
或
),读屏软件也会跳过。
读屏行为不可靠的常见原因:父级设置了
,或
被包裹在
中
部分旧版 JAWS 默认只读一次
全称,之后重复出现时只读缩写——这依赖用户设置,开发者无法控制,所以首次出现时务必补全
属性建议配合使用,例如
,帮助语音引擎切换发音规则
触摸与键盘用户的交互盲区
原生
的浏览器 tooltip 仅响应鼠标悬停,在手机、平板或纯键盘导航场景下完全不可见——这不是 bug,是设计限制。
使用HTML,CSS,JavaScript开发Android应用程序 英文文字pdf版附源文件
如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Android友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Android应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更
下载
立即学习
“
前端免费学习笔记(深入)
”;
添加
可让键盘用户 tab 到
并触发
状态
用 CSS 的
+
可实现 hover/focus/active 三态 tooltip,但需注意移动端点击后 tooltip 不自动消失的问题
不要依赖
作为唯一信息通道:对关键术语,仍应在上下文中提供一次完整解释,
是增强,不是替代
真正容易被忽略的点是:即使写了
,如果团队没建立缩写词表、没做全站一致性校验,同一个缩写在不同页面可能有不同全称,导致读屏结果混乱、SEO 语义冲突。这不是技术问题,是协作流程问题。
abbrtitleabbrtitleCSStitlespantitleabbr超文本标记语言(HTML)是一种……
HTMLWHO"World Health Organization"titletitlepointer-events: nonedisplay: nonearia-hidden="true"abbrdiv[role="presentation"]abbrlangRESTabbr[title]tabindex="0"abbr:focus::afterattr(title)titleabbrtitle