我没有在DOM中添加/删除我的不同部分,而是仅使用aria-hidden="true"
隐藏它们,并在单击某些<a>
切换时取消隐藏它们。
原因是性能和更容易的noscript后备。 DOM中的顺序不是问题出现的顺序。
结果是二进制问题树(是/否问题),用户在其中点击一个问题到另一个问题。
现在,什么是一个很好的解决方案,让屏幕阅读器读取一个部分,或至少在取消隐藏后继续读取它?
live-region
有办法吗?屏幕阅读器是否读取了隐藏在其中的元素?我认为aria-current
可能合适吗?或者它更像是aria-expanded
申请?
感谢您的帮助!
答案 0 :(得分:1)
ARIA live regions毫无疑问是处理此类问题的正确方法。
通过在HTML元素上使用aria-live
属性,当在其中一个区域中更改内容时,将会提醒辅助技术。您选择的属性值将指定更改的公布速度(立即或下一次优雅的机会)。最常见的实现通常是aria-live="polite"
。
本页概述了实现实时区域的一些非常有用(和创新)的技术:https://terrillthompson.com/tests/aria/live-scores.html