屏幕阅读器可以"锁定"在DIV元素中吗?

Sco*_*ott 5 html jquery accessibility screen-readers jaws-screen-reader

我写了一个使用jQuery来显示模态弹出窗口的网站.它基本上覆盖了屏幕的整个可视区域和覆盖图,然后显示了一个DIV,其中包含覆盖层顶部的实际弹出窗口.该项目的要求之一与可访问性有关.

当弹出窗口时,我们已经能够将焦点集中在模态中,以便屏幕阅读器停止它的操作并开始在模态内部读取.然而,我们当前的问题是,一旦JAWS屏幕阅读器完成在模态窗口内读取文本,它将继续经过该文本并读取窗口外的文本(在叠加层下面).

有没有办法将屏幕阅读器"锁定"在特定元素内部,以便它无法读取任何内容?

Mat*_*ell 3

如果添加以下属性:

aria-disabled="true"
Run Code Online (Sandbox Code Playgroud)

在模式中设置焦点后,对于网站标记的其余部分,它应该阻止屏幕阅读器阅读该内容。如果所有其他内容都在 DIV 中并且模型作为该 DIV 的同级项添加到 DOM 中(因此您只需将该属性添加到一个元素上),那么这是最容易做到的。

或者,如果您的对话框可以,您可以添加一些 JavaScript 选项卡按下/焦点检测,以使用户在此对话框中保持循环。如果您无法使用键盘退出对话框(除非按下关闭/取消按钮),则通常应该可以访问它。