react-doctor/no-outline-none

Use `:focus-visible { outline: 2px solid var(--color-muted); outline-offset: 2px }` to show focus only for keyboard users while hiding it for mouse clicks

  • Category: Accessibility
  • Severity: warn
  • Source: oxlint-plugin-react-doctor
  • Framework: global
  • Enabled when: always

Validation prompt

Use this to decide whether a fired diagnostic is real or a false positive.

Confirm the inline style sets outline to 'none', '0', or the number 0, AND has no sibling boxShadow property (the rule treats any boxShadow as a possible replacement focus ring and skips reporting). Even outline: 'none' on a non-interactive div is worth fixing, since focusable descendants may inherit.

Fix prompt

Use this once validation confirms the diagnostic is real.

Move focus styling to :focus-visible in CSS — e.g. outline: 2px solid var(--muted); outline-offset: 2px. If a fully custom ring is required, apply a box-shadow under :focus-visible. Never hide focus globally for all input modalities. See https://www.w3.org/WAI/WCAG21/Understanding/focus-visible