CSS селектор :focus-visible — рамка фокуса лише з клавіатури


CSS псевдоклас :focus-visible спрацьовує лише тоді, коли фокус варто показати: при навігації з клавіатури — так, після кліку мишею — ні.

автор: NagarD

Загальний опис

Роками верстальники писали outline: none, бо рамка навколо кнопки після кліку виглядала негарно. І тим самим ламали сайт для тих, хто ходить по ньому клавішею Tab: людина просто не бачила, де вона.

:focus-visible розв'язує цей конфлікт: браузер сам вирішує, чи був фокус «навмисним». Мишкою клікнув — рамки немає. Прийшов табом — рамка є.

автор: NagarD

Порада

Ніколи не прибирай outline зовсім. Якщо стандартна рамка не подобається — заміни її на свою у правилі :focus-visible.

автор: NagarD

Синтаксис

:focus-visible

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
focus-visible 86+ 85+ 15.4+ 72+ 86+ -
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
focus-visible 86+ yes yes 15.4+

Приклади

+ запропонувати свій приклад у пісочниці

Своя рамка фокуса — тільки для клавіатури.

HTML

<button>Клацни мене або прийди сюди клавішею Tab</button>

CSS

button:focus-visible {
    outline: 3px solid #0172ad;
    outline-offset: 2px;
}
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід