CSS селектор :focus-visible — рамка фокуса лише з клавіатури
CSS псевдоклас :focus-visible спрацьовує лише тоді, коли фокус варто показати: при навігації з клавіатури — так, після кліку мишею — ні.
Загальний опис
Роками верстальники писали outline: none, бо рамка навколо кнопки після кліку виглядала негарно. І тим самим ламали сайт для тих, хто ходить по ньому клавішею Tab: людина просто не бачила, де вона.
:focus-visible розв'язує цей конфлікт: браузер сам вирішує, чи був фокус «навмисним». Мишкою клікнув — рамки немає. Прийшов табом — рамка є.
- Порада
-
Ніколи не прибирай
автор: NagarDoutlineзовсім. Якщо стандартна рамка не подобається — заміни її на свою у правилі:focus-visible.
Синтаксис
:focus-visible
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| focus-visible | 86+ | 85+ | 15.4+ | 72+ | 86+ | - |
| Переглядач | ||||
|---|---|---|---|---|
| focus-visible | 86+ | yes | yes | 15.4+ |
Приклади
+ запропонувати свій приклад у пісочниці
Своя рамка фокуса — тільки для клавіатури.
HTML
<button>Клацни мене або прийди сюди клавішею Tab</button>
CSS
button:focus-visible {
outline: 3px solid #0172ad;
outline-offset: 2px;
}
Коментарі
Коментарів ще немає — будьте першим!