Widely available Supported across all major browsers. Safe to use in production.

Browser support

Feature Desktop Mobile
Chrome
Edge
Firefox
Safari
Chrome Android
Safari iOS
86
86
85
15.4
86
15.4
1+Supported (version) Not supported Has note Sub-feature descriptions sourced from MDN Web Docs (CC BY-SA 2.5)
Notes 1 item(s)
Implementation note
  • Previously available under a different name: :-moz-focusring (4)

Syntax

CSS
/* Hide the focus ring on mouse click */
button:focus:not(:focus-visible) {
  outline: none;
}

/* Custom focus ring only during keyboard navigation */
button:focus-visible {
  outline: 3px solid #2563eb;
  outline-offset: 2px;
}

Live demo

ki-bo-dfocus

:focus-visible ki-bo-dfocus demo.

PreviewFullscreen

Inputfield

:focus-visible Inputfield demo.

PreviewFullscreen

link. Focus

:focus-visible link. Focus demo.

PreviewFullscreen

Use cases

  • Using :focus-visible

    The :focus-visible pseudo-class applies while an element matches the :focus pseudo-class and the UA (User Agent) determines via heuristics that the focus should be made evident on the element.

Cautions

  • May not be supported in older browsers.

Accessibility

  • Make sure visual changes are conveyed appropriately to assistive technology.