Focus Visible

Pseudo-class
:focus-visible

Selects elements that have focus AND the browser determines focus should be visible (keyboard navigation).

Example

:focus-visible {
  outline: 2px solid blue;
  outline-offset: 2px;
}
button:focus:not(:focus-visible) {
  outline: none;
}

Specificity

0-1-0

Browser Support

All modern browsers

About the Focus Visible

The :focus-visible CSS selector belongs to the Pseudo-class category.Selects elements that have focus AND the browser determines focus should be visible (keyboard navigation). Understanding CSS selector specificity and combinators is essential for writing maintainable stylesheets that behave predictably.

The specificity of this selector is 0-1-0. CSS specificity determines which styles are applied when multiple rules target the same element. Higher specificity values take precedence. The specificity hierarchy from lowest to highest is: universal (*) → type/element → class/attribute/pseudo-class → ID → inline styles → !important.

Browser support for Focus Visible is: All modern browsers. When using newer CSS selectors like :has(), :is(), or CSS nesting, consider providing fallback styles for older browsers. Use @supports to progressively enhance your stylesheets with modern features while maintaining backward compatibility.

Related Selectors