Кто-нибудь знает, как различные экранные ридеры взаимодействуют с модальным окном, т. Е. Thickbox? Содержит ли содержание модального фокуса читателя после щелчка по нему?Как читатели экрана обрабатывают модальные окна?
1
A
ответ
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) в пределах модального.
Именно поэтому вы используете прогрессивное усовершенствование - ваш сайт должен, по крайней мере, функционировать с выключенным JavaScript. – ceejayoz
Он работает с выключенным JS, тогда модальные ссылки просто открываются в новом окне браузера. Но я не уверен, что могу предположить, что все пользователи с программами чтения с экрана будут отключены Javascript? – smurfarita
Я пользователь экрана, если вы разместите ссылку на пример, я дам вам знать, как это работает для меня. – Jared