Non-standard: This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

The :-moz-focusring CSS pseudo-class is a Mozilla extension that is similar to the :focus pseudo-class, but it only matches an element if it's currently focused and a focus ring or other indicator should be drawn around it.

Note: This selector has been renamed to :focus-visible for the CSS Selectors 4 specification.

If :-moz-focusring matches, then :focus also matches, but the converse is not always true: it depends on whether the user agent has focus ring drawing enabled and how the element was focused. Whether the user agent has focus ring drawing enabled can depend on operating system settings and other factors, so the precise behavior of this pseudo-class will vary from platform to platform.

The working group previously intended to add this feature to CSS Selectors 4 or 5 as :focus-ring, and has since decided to rename it to :focus-visible and added it to CSS Selectors 4.

Note: Developers tend to use :-moz-focusring to differentiate between the focus state when the user focuses an element via a mouse click versus keyboard tabbing. It is also potentially useful if you are creating a custom element and you want to change its style based on its behavior.


:-moz-focusring {
  /* ... */



<input />


input {
  margin: 5px;

:-moz-focusring {
  color: red;
  outline: 2px dotted green;



Not part of any standard.

Browser compatibility

BCD tables only load in the browser

See also