Средство чтения с экрана JAWS неправильно читает диалоговое сообщение подтверждения. IE11

У меня есть диалог подтверждения, и я хочу сделать его доступным. Вот мой HTML:

<div class="confirm-dialog row-fluid">
<div class="content" role="dialog" tabindex="0" aria-labelledby="confirm-popup-header" aria-describedby="confirm-popup-subheader">
   <h2 id="confirm-popup-header">Proceed with an action</h2>
   <h4 id="confirm-popup-subheader">You are about to proceed with an action</h4>
   <div>
       <button class="btn btn-large btn-primary btn-app-secondary">Cancel</button>
       <button class="btn btn-large btn-primary btn-app-primary">Submit</button>
   </div>
</div>

Also somewhere in my scripts I'm setting focus to the dialog when it becomes visible:

$('.confirm-dialog .content').focus();

Затем в IE11, когда открывается диалоговое окно, челюсти считывают его содержимое следующим образом: Enter - Приступить к действию - диалоговое окно Приступить к действию Вы собираетесь приступить к действию Отменить Отправить заголовок второго уровня

JAWS сначала читает заголовок, затем заголовок, а затем остальную часть содержимого. Это проблема.

Ожидаемое поведение: Enter — продолжить действие — диалоговое окно. Вы собираетесь выполнить действие и т. д.

Как этого можно добиться?


person iOne    schedule 23.01.2015    source источник


Ответы (1)


Просто удалите aria-labelledby и aria-describedby из элемента контейнера диалога, и вам станет намного лучше. Хорошей практикой также является установка tabindex=-1 вместо tabindex=0, чтобы при перемещении с помощью табуляции в диалоговом окне вы не возвращались автоматически к контейнеру.

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

person unobf    schedule 23.01.2015
comment
Спасибо @unobf, но поведение челюстей не сильно изменилось после того, как я проверил ваше решение. Также челюсти читает кнопки, а не кнопки) Читает их так: No fileupload edit - TAB - Yes fileupload edit - person iOne; 04.02.2015