2009-10-29 1 views
1

Кто-нибудь знает, как различные экранные ридеры взаимодействуют с модальным окном, т. Е. Thickbox? Содержит ли содержание модального фокуса читателя после щелчка по нему?Как читатели экрана обрабатывают модальные окна?

+0

Именно поэтому вы используете прогрессивное усовершенствование - ваш сайт должен, по крайней мере, функционировать с выключенным JavaScript. – ceejayoz

+0

Он работает с выключенным JS, тогда модальные ссылки просто открываются в новом окне браузера. Но я не уверен, что могу предположить, что все пользователи с программами чтения с экрана будут отключены Javascript? – smurfarita

+0

Я пользователь экрана, если вы разместите ссылку на пример, я дам вам знать, как это работает для меня. – Jared

ответ

1

Это зависит от используемого модального решения. Многие не выполняют достойную работу по управлению фокусом:

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

Если решение, которое вы используете, не делает этого, вы можете сделать это в своем собственном JavaScript. Например, если вы знаете, первый фокусируемый элемент:

var focusMe = document.getElementById("#modal-focus-start"); 
if (focusMe) { 
    focusMe.focus(); 
} 

Или, если вы хотите, чтобы сосредоточить внимание на первую ссылку в модальном.

var modal = document.getElementById("#modal"), 
    focusMe; 
if (modal) { 
    focusMe = modal.getElementsByTagName("a")[0]; 
    if (focusMe) { 
     focusMe.focus(); 
    } 
} 

Если вы не имеете удобный фокусируемых элемент для перемещения фокуса, некоторых современных браузеров (Firefox, казалось КОЛЯСКИ последний раз я проверил) позволяют установить tabindex в -1 на любой HTML элемент, что делает этот элемент Focusable по JavaScript.

Если вы хотите пойти дальше, вы можете use JavaScript to find the first focusable element (uses jQuery) в пределах модального.