无障碍访问:子菜单aria-label的正确标注方案咨询
子菜单无障碍场景下aria-label的正确设置方式
在无障碍访问场景里,绝对不能给所有子菜单统一用仅含"submenu"的通用标签,必须结合菜单的具体用途来设置,这是保障屏幕阅读器用户高效操作的关键。
拿你说的图书设置菜单举例,触发按钮的aria-label应该设为"图书设置子菜单"(对应你提到的"submenu book settings"的本地化表述),而非仅"submenu",原因很直接:
- 清晰指向功能:屏幕阅读器用户没法靠视觉快速分辨子菜单作用,带具体用途的标签能让他们瞬间知道点击后会打开什么功能的菜单,避免瞎点或误操作。
- 区分多菜单场景:要是页面上有多个子菜单(比如同时有图书设置、阅读进度、书签管理子菜单),只用"submenu"会让用户彻底懵,根本分不清哪个是哪个。
- 符合规范要求:WAI-ARIA明确要求控件标签得清晰描述用途,通用标签完全达不到"可感知"的无障碍核心标准。
再给几个实操小建议:
- 如果触发按钮本身有可见文字(比如按钮上写着"设置"),其实不用重复加"子菜单",只要用
aria-haspopup="true"和aria-expanded="false/true"来标记这是可展开的子菜单按钮就行——可见文本已经能说明用途,配合状态属性就足够清晰。 - 要是触发按钮是纯图标(没有可见文字),那aria-label里必须同时包含功能描述+子菜单标识,比如
"打开图书设置子菜单",确保信息完整不模糊。
内容的提问来源于stack exchange,提问作者user17611060
相关产品推荐
相关产品推荐

