Focus ring CSS (production)
a,
button,
summary,
[tabindex],
input,
select,
textarea,
[contenteditable] {
outline: var(--FocusRing-outline-width, 2px) solid transparent;
outline-offset: var(--FocusRing-transition-offset, 5px);
transition: outline-offset var(--FocusRing-transition-duration, 0) ease-out;
}
a:focus,
button:focus,
summary:focus,
[tabindex]:focus,
input:focus,
select:focus,
textarea:focus,
[contenteditable]:focus {
outline-color: var(--FocusRing-outline-color, blue);
outline-offset: var(--FocusRing-outline-offset, 2px);
}
@supports selector(:focus-visible) {
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
summary:focus:not(:focus-visible),
[tabindex]:focus:not(:focus-visible),
input:focus:not(:focus-visible),
select:focus:not(:focus-visible),
textarea:focus:not(:focus-visible),
[contenteditable]:focus:not(:focus-visible) {
outline: none;
}
}
:focus-visible {
outline-color: var(--FocusRing-outline-color, blue);
outline-offset: var(--FocusRing-outline-offset, 2px);
}