Может ли программа чтения с экрана быть «заблокирована» внутри элемента DIV? - PullRequest
5 голосов
/ 28 марта 2012

Я написал сайт, который использует jQuery для отображения модального всплывающего окна.Он по существу покрывает всю видимую область экрана наложением, а затем показывает DIV, который содержит фактическое всплывающее окно поверх наложения.Одно из требований этого проекта связано с доступностью.

Мы смогли сфокусироваться внутри модала, когда он всплывает, так что программа чтения с экрана останавливает его работу и начинает читать внутри модала.Однако наша текущая проблема заключается в том, что, как только программа чтения с экрана JAWS заканчивает чтение текста в модальном окне, она продолжает проходить и читает текст за пределами окна (под наложением).

Есть ли способ «заблокировать»программа чтения с экрана внутри определенного элемента, чтобы он не мог прочитать что-либо вне его?

1 Ответ

3 голосов
/ 28 марта 2012

Если вы добавите атрибут:

aria-disabled="true"

для остальной части разметки сайта после того, как вы установили фокус в модале, это не даст читателям экрана читать этот контент. Это проще всего сделать, если все остальное содержимое находится в DIV, а модель добавлена ​​в DOM в качестве родственного элемента этого DIV (поэтому вам нужно будет добавить этот атрибут только в один элемент).

В качестве альтернативы, если это возможно в вашем диалоговом окне, вы можете добавить некоторое JavaScript-нажатие на вкладку / обнаружение фокуса, чтобы держать пользователя в цикле внутри этого диалога. Если вы не можете выйти из диалогового окна с помощью клавиатуры (без нажатия кнопки закрытия / отмены), он должен быть общедоступным.

...