1

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

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

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

4

3 回答 3

0

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

于 2013-07-24T21:18:47.873 回答
0

刚用同样的东西打架,发现如果有一个role="main"没有明确aria-label/aria-labelledby定义的元素,它的整个内容,包括所有隐藏的元素,都会被添加到 MSAA 和 UIA 树中,然后由讲述人读出。添加显式 aria 属性可以解决问题 - 但显然也会阻止讲述人自动开始阅读主要内容。

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

于 2014-11-10T17:54:22.780 回答
0

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

于 2015-08-10T16:33:22.593 回答