Это зависит от используемого вами модального решения. Многие не делают достойную работу по управлению фокусом:
- фокусировка клавиатуры на первом элементе в модале.
- зацикливание фокуса на первом элементе, когда достигнут конец модального режима (вместо того, чтобы позволить циклу фокусировки переходить к хрому браузера или странице за модальным).
- возврат фокуса клавиатуры в исходное положение (например, кнопку открытия или ссылку), когда модальное окно закрыто.
Если решение, которое вы используете, не делает ничего из этого, вы можете делать такие вещи в своем собственном 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, делая этот элемент фокусируемым по JavaScript.
Если вы хотите пойти дальше, вы можете использовать JavaScript, чтобы найти первый фокусируемый элемент (использует jQuery) в модальном.