CSS :focus-visible: показать фокус клавиатуры

Категория: CSS · Язык: CSS · Обновлено:

Псевдокласс :focus-visible помогает показывать заметный индикатор при клавиатурной навигации, сохраняя ожидаемое поведение при клике мышью. Стили фокуса нужны интерактивным элементам для доступного управления.

Рабочий пример

CSS
button:focus-visible,
a[href]:focus-visible {
  outline: 3px solid #1456d8;
  outline-offset: 3px;
}

button:focus:not(:focus-visible) {
  outline: none;
}

Сохраните достаточный контраст индикатора и не скрывайте фокус для клавиатурных пользователей. Проверяйте Tab, Shift+Tab и активацию элементов.

Частый вопрос

Нужен ли :focus-visible для ссылок?

Да, любой элемент, доступный с клавиатуры, должен иметь видимый индикатор фокуса. Селекторы можно адаптировать под вашу дизайн-систему.