-moz-user-focus is a deprecated Mozilla-only CSS property supported in Firefox 2 to Firefox 121. Chrome, Safari, Edge, Opera, and IE never supported it.

Prince Dewani
May 6, 2026
-moz-user-focus is a deprecated, non-standard Mozilla-specific CSS property that controlled whether an element could receive keyboard focus and whether it appeared in the tab order. It worked only in Firefox from Firefox 2 through Firefox 121, while Chrome, Edge, Safari, Opera, Samsung Internet, Internet Explorer, Android Browser, and Firefox for Android never supported it at all.
This guide covers what -moz-user-focus is, the browsers that support it, the valid values, the standard alternatives, and the known issues.
-moz-user-focus is a Mozilla-prefixed, non-standard CSS property that told Gecko whether an element could accept keyboard focus. It accepted normal, ignore, or none, and it was never part of any W3C specification. The W3C CSS Working Group rejected the predecessor user-focus proposal during the CSS3 UI draft phase.
Only Firefox on desktop ever supported -moz-user-focus, and only from Firefox 2 to Firefox 121. Firefox 122 and later removed it, and no other browser engine ever shipped it.
Chrome does not support -moz-user-focus on any version, on any platform. Blink treats the rule as unknown and drops it during parsing, so a selector that sets -moz-user-focus: ignore has no effect on Chrome desktop, Chrome on Android, or Chrome on ChromeOS. Use tabindex="-1" or the inert attribute for cross-browser focus suppression.
Microsoft Edge does not support -moz-user-focus. Both EdgeHTML 12 to 18 and every Chromium-based Edge from Edge 79 ignore the property because it was never part of the EdgeHTML or Blink engines. Switch to tabindex or inert for the same focus-skipping behavior on Edge.
Firefox supports -moz-user-focus from Firefox 2 through Firefox 121 on Windows, macOS, and Linux. Firefox 122 removed the property as part of the cleanup tracked in Bugzilla 1868552, so any current Firefox build ignores it. Firefox 1 and Firefox 1.5 did not support it either, because the property landed alongside the wider XUL focus rework in Firefox 2.
Safari does not support -moz-user-focus on macOS or iOS. WebKit never implemented the Mozilla-prefixed rule, so any Safari version on iPhone, iPad, or Mac drops the declaration during CSS parsing. The accessible cross-platform replacements on Safari are tabindex="-1", the inert attribute, and the disabled attribute on form controls.
Opera does not support -moz-user-focus on any version. The Presto-era Opera 9 to 12 used its own rendering engine and never adopted the Mozilla prefix, and every Chromium-based Opera from Opera 15 inherits Blink's behavior of ignoring the rule. Opera Mini and Opera Mobile also skip the declaration.
Samsung Internet does not support -moz-user-focus. The browser tracks the same Chromium engine that Chrome for Android uses, so the Mozilla-prefixed rule never reaches the layout engine. Galaxy phones and tablets on every Samsung Internet release fall back to standard focus management with tabindex and inert.
Android Browser does not support -moz-user-focus. Neither the legacy Android stock browser, the modern Android WebView, nor Firefox for Android ever shipped the rule, so any Android device drops the declaration. Use tabindex or inert for the same focus-skipping behavior on Android.
Internet Explorer never supported -moz-user-focus on any version from IE 5.5 to IE 11. Trident is unrelated to Gecko and ignores the Mozilla prefix entirely. Microsoft has retired Internet Explorer, so production code can drop the IE branch and rely on tabindex for focus management.
Note: -moz-user-focus only ever worked in Firefox and is gone from Firefox 122 onward. Test your focus-management fallbacks on real browsers and OS with TestMu AI. Try TestMu AI free!
-moz-user-focus accepted three keyword values plus the standard CSS-wide keywords. Each keyword changed how Gecko routed keyboard focus and click activation for the matching element.
Every -moz-user-focus use case has a standard, cross-browser replacement that works on Chrome, Edge, Firefox, Safari, and Opera. Pick the alternative that matches the focus rule you were targeting.
Here is a side-by-side migration from a Firefox-only -moz-user-focus rule to a cross-browser equivalent that works on every modern engine:
/* Legacy Firefox-only rule. Worked in Firefox 2 to 121. */
.skip-focus {
-moz-user-focus: ignore;
}
/* Cross-browser replacement. Works everywhere. */
<button class="skip-focus" tabindex="-1">Not focusable</button>
/* Or, to skip a whole subtree: */
<div inert>
<button>Not focusable</button>
<input type="text" placeholder="Not focusable" />
</div>Most -moz-user-focus problems come from the same root cause: it only ever worked in Firefox, and now it does not work even there. The issues below catch the surprises that real codebases hit during the migration.
In my experience, the cleanest way to migrate a legacy codebase is a single grep for -moz-user-focus across every CSS file, then swap each match for tabindex="-1" or inert based on whether the rule was ignore or none. The HTML attribute path is more reliable than any CSS approach, because it survives the Firefox 122 removal and works on every other browser at the same time.
All -moz-user-focus version numbers and platform notes in this guide come from these primary sources:
Did you find this page helpful?
More Related Hubs
TestMu AI forEnterprise
Get access to solutions built on Enterprise
grade security, privacy, & compliance