mouseEventKeyEvents
Reports mouse events without corresponding keyboard events.
✅ This rule is included in the jsxlogicalandlogicalStrictpresets.
Mouse events should have keyboard equivalents for users who cannot use a mouse. This ensures that functionality is accessible to all users, such as those with limited hardware or personal disabilities.
Specifically:
onMouseOvermust be paired withonFocusonMouseOutmust be paired withonBlur
This is required for WCAG 2.1.1 compliance.
Examples
Section titled “Examples”<JSX.IntrinsicElements.div: DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>
div DOMAttributes<HTMLDivElement>.onMouseOver?: MouseEventHandler<HTMLDivElement> | undefined
onMouseOver={() => {}} /><JSX.IntrinsicElements.div: DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>
div DOMAttributes<HTMLDivElement>.onMouseOut?: MouseEventHandler<HTMLDivElement> | undefined
onMouseOut={() => {}} /><JSX.IntrinsicElements.div: DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>
div DOMAttributes<HTMLDivElement>.onMouseOver?: MouseEventHandler<HTMLDivElement> | undefined
onMouseOver={() => {}} DOMAttributes<HTMLDivElement>.onFocus?: FocusEventHandler<HTMLDivElement> | undefined
onFocus={() => {}} /><JSX.IntrinsicElements.div: DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>
div DOMAttributes<HTMLDivElement>.onMouseOut?: MouseEventHandler<HTMLDivElement> | undefined
onMouseOut={() => {}} DOMAttributes<HTMLDivElement>.onBlur?: FocusEventHandler<HTMLDivElement> | undefined
onBlur={() => {}} />When Not To Use It
Section titled “When Not To Use It”If your application doesn’t use mouse event handlers, or if you use a framework that automatically injects key event handlers for equivalent mouse event handlers, you can disable this rule.
Further Reading
Section titled “Further Reading”Equivalents in Other Linters
Section titled “Equivalents in Other Linters”
Made with ❤️🔥 around the world by
the Flint team and contributors.