如何防止Windows讲述人阅读隐藏的HTML标签?

时间:2013-07-24 10:57:49

标签: html accessibility wai-aria narrator

我有一个HTML页面,其中包含多个隐藏元素,这些元素仅在某些情况下才可见。

当我将焦点设置在页面包装器上(以读取所有内容)时,Windows讲述人会读取所有元素,甚至是隐藏的元素。

我尝试过使用aria-hidden =“true”,CSS显示:无,HTML5隐藏属性,都被完全忽略。到目前为止,我发现唯一有效的机制是在将焦点设置在包装器上之前从DOM中删除这些元素。但这不是一个理想的解决方案。

3 个答案:

答案 0 :(得分:0)

role="presentation" tabindex="-1"应用于已应用aria-hidden的元素。

答案 1 :(得分:0)

只是用同样的事情进行了斗争,并发现如果某个元素的role="main"没有明确的aria-label / aria-labelledby,那么它的整个内容,包括所有隐藏的元素,都是添加到MSAA和UIA树,然后由讲述人读出。添加显式的aria属性可以解决问题 - 但显然也会阻止Narrator自动开始阅读主要内容。

好消息是AccChecker警告这些问题。显然更好地遵循它的建议,即使自动阅读内容会很好。

答案 2 :(得分:0)

显然,这不再是MS Edge的问题了!欢呼!如果使用CSS display:none隐藏元素,则它不会读取它的内容。