无合适关联元素时,aria-activedescendant属性应如何设置?
关于aria-activedescendant无有效关联项时的取值方案
根据ARIA规范要求,当没有可关联的有效选项时,推荐将aria-activedescendant设置为空字符串(""),而非使用特殊占位符值。
具体原因:
- 符合标准语义:ARIA属性设计中,空字符串明确表示当前无激活的后代元素,屏幕阅读器等辅助技术能准确识别这个状态,不会出现逻辑混淆。
- 避免辅助技术异常:若使用特殊占位符值(如"placeholder-id"),但页面中无对应ID元素,辅助技术可能抛出找不到元素的警告,反而破坏无障碍体验。
- 简化代码实现:针对你提到的Razor语法场景,设置空字符串无需额外复杂逻辑,仅需在无有效选项时将属性值设为空即可,比维护不存在的占位符元素更便捷。
补充说明:
虽然完全移除属性也符合规范,但既然你提到Razor中处理繁琐,设置空字符串是更优的折中方案——既满足无障碍标准,又能简化代码逻辑。
内容的提问来源于stack exchange,提问作者Hammerite
相关产品推荐
相关产品推荐

