Проверяет понимание проблем доступности горизонтально прокручиваемых таблиц и способов сделать скролл доступным для клавиатуры и скринридеров.
Когда таблица шире экрана, браузер создаёт горизонтальную прокрутку. Но если контейнер не фокусируемый, пользователи, работающие только с клавиатуры, не смогут до него добраться: Tab перепрыгнет сразу к следующему элементу, а стрелки будут прокручивать страницу, а не таблицу. Это классическая проблема доступности.
Контейнеру, который имеет overflow-x: auto, нужно добавить tabindex="0". Тогда он попадёт в порядок табуляции, и при фокусе стрелки клавиатуры будут прокручивать его содержимое. Дополнительно стоит указать роль region и метку aria-label, чтобы скринридер объявил область как прокручиваемую.
<div class="table-wrapper" tabindex="0" role="region" aria-label="Таблица с горизонтальной прокруткой">
<table>
<!-- много колонок -->
</table>
</div>
<style>
.table-wrapper {
overflow-x: auto;
max-width: 100%;
}
.table-wrapper:focus-visible {
outline: 2px solid #005fcc;
outline-offset: 2px;
}
</style>tabindex больше 0, чтобы не нарушать естественный порядок табуляции.<table>, <th>, <caption>.Такой подход делает таблицу доступной как для клавиатурных пользователей, так и для скринридеров, которые смогут объявить регион и его назначение.
Итог: применяйте tabindex="0" и role="region" с aria-label для контейнеров с горизонтальной прокруткой, чтобы обеспечить доступность таблиц для всех пользователей.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию