【发布时间】:2019-12-23 17:38:30
【问题描述】:
我有一个网页,其中一个对话框 <section role="dialog"> 元素在内容顶部打开,导致下面的元素/内容无法访问。
当对话框打开时,下面的所有内容都会收到tabindex="-1" 以保持对话框内的选项卡焦点。
下面的内容还接收一个模糊元素的 CSS 类,并将 pointer-events 设置为 none,因此这些元素不能用鼠标点击,但这些元素仍然全部存在并在 DOM 中可见(它们未设置到display: none)。
两个问题:
- 我还需要将
aria-hidden="true"添加到所有这些元素吗?- 我知道内容将不再可通过 Tab 键获得焦点,但我不确定屏幕阅读器是否仍会尝试阅读内容。
- 如果我在这些元素上设置
aria-hidden="true",然后又恢复为aria-hidden="false",屏幕阅读器会发现发生了这种变化吗?- 我担心设置
aria-hidden="true"意味着屏幕阅读器不会再次考虑该元素,即使我稍后将其设置为aria-hidden="false"。 - 我是否需要在共享父元素(对话框和内容都存在)上使用
aria-live? - 即使使用
aria-live,屏幕阅读器也会考虑以前设置为aria-hidden="true"的元素吗?
- 我担心设置
注意:对话框是一个带有提交按钮的表单。有时它可能包括一个Dismiss 按钮,但并非在所有情况下都如此。该对话框可以充当需要提交表单才能继续的大门。
【问题讨论】:
标签: javascript html accessibility screen-readers