登录
首页 >  文章 >  前端

aria-label 和 aria-labelledby 是用于为无文字按钮添加可访问性描述的两个重要属性,它们可以帮助屏幕阅读器用户理解按钮的功能。以下是使用这两个属性的基本方法:1. aria-labelaria-label 直接为元素提供一个可访问的标签,适用于没有文本内容的按钮。示例:屏幕阅读器会读出 "打开菜单"。适

时间:2026-05-26 14:46:19 217浏览 收藏

无文字按钮对屏幕阅读器用户而言形同“隐形”,必须通过 aria-label 或 aria-labelledby 提供清晰、准确的语义描述——前者适用于独立图标按钮,用简洁有力的动词短语(如“打开菜单”“删除项目”)直述功能;后者则通过引用页面中已有的可见文本实现语义复用,支持多ID按序播报且更利于内容一致性;二者择一使用、严禁混用,同时需规避 title 属性、图标单独设 label、中英文标点冗余等常见陷阱,最终务必通过 VoiceOver 或 NVDA 实际朗读验证,确保每个按钮都被正确识别为“按钮”,并自然、无重复地传达其真实意图。

如何用 aria-label 和 aria-labelledby 给无文字按钮加描述

无文字按钮(比如纯图标按钮)对屏幕阅读器用户来说是“看不见”的,必须通过 ARIA 提供明确的语义描述。核心方法是用 aria-label 直接写描述,或用 aria-labelledby 指向页面中已有的可见文本——两者选其一即可,**不要同时使用**,否则屏幕阅读器可能重复播报或冲突。

用 aria-label 写简洁准确的动词短语

适合独立存在、含义明确的按钮,例如搜索、关闭、删除、返回等。描述要以动词开头,说明“点击后会发生什么”,避免冗余词(如“按钮”“图标”)。

  • (含上下文更清晰)

用 aria-labelledby 关联已有可见文本

适合按钮和附近文字有强语义关系的场景,比如表格操作列中的“编辑”按钮,或卡片底部的“查看详情”按钮。先给目标文本加 id,再在按钮上引用它。

  • 如何学习无障碍

  • 编辑(可选补充词,与标题组合成完整意图)

注意:aria-labelledby 支持多个 ID(空格分隔),顺序即播报顺序;被引用的元素不一定要视觉可见,但需在 DOM 中且未被 aria-hidden="true" 隐藏。

避免常见错误

  • 不要给图标本身加 aria-label(如 ),应放在按钮容器上
  • 不要用 title 属性替代 ARIA 描述,它不是语义化方案,且移动端常不触发
  • 不要让 aria-label 和按钮内文本共存(除非刻意覆盖),否则会覆盖原内容
  • 中文描述用简体,标点统一不加句号,保持口语化但专业(如“展开菜单”而非“请展开菜单”)

测试建议

用 VoiceOver(macOS/iOS)或 NVDA(Windows)实际朗读验证:按钮是否被识别为“按钮”,播报内容是否准确、自然、无重复。也可用浏览器开发者工具检查 ARIA 属性是否正确渲染,以及无障碍树中角色和名称是否符合预期。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>