Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
При закрытии всем выставляете tabIndex 0? Но ведь там могли быть другие значения
некоторые проблемы такого решения:
Стоит смотреть в сторону перехвата и перенаправления фокуса. Тут будут свои подводные камни, но это менее ресурсоёмкий подход.
Попробуйте такой простой код:
<button id="b1">Button 1</button>
<button id="b2">Button 2</button>
<button>Button 3</button>
<script>
const b1 = document.getElementById('b1');
const b2 = document.getElementById('b2');
b2.addEventListener('blur', () => b1.focus());
</script>Кнопка №3 не получит фокус при Tab, а само переключение фокуса будет ограничено между первых двух кнопок. Тоже самое можно сделать и с модальным окном — залочить фокус внутри него.
пару ссылок
https://github.com/theKashey/focus-lock
https://github.com/theKashey/react-focus-lock
Решение проблемы обеспечения доступности модального окна для людей с ограниченными возможностями