Skip to content
← Back to rules

jsx-a11y/mouse-events-have-key-events 正しさ

何をするか

onMouseOver / onMouseOutonFocus / onBlur を伴っていることを強制します。

なぜ問題なのか

キーボードによる操作を実装することは、マウスを使用できない身体的障害を持つユーザー、アクセシビリティツール(AT)との互換性、および画面読み上げソフトウェアの利用者にとって重要です。

このルールに違反する不適切なコードの例:

jsx
<div onMouseOver={() => void 0} />

このルールに準拠する適切なコードの例:

jsx
<div onMouseOver={() => void 0} onFocus={() => void 0} />

設定

このルールは、以下のプロパティを持つ設定オブジェクトを受け入れます。

hoverInHandlers

type: string[]

default: ["onMouseOver"]

対応するキーボードイベントハンドラが必要な、ホバーイン用のマウスイベントハンドラのリスト。

hoverOutHandlers

type: string[]

default: ["onMouseOut"]

対応するキーボードイベントハンドラが必要な、ホバーアウト用のマウスイベントハンドラのリスト。

使用方法

設定ファイルまたは CLI でこのルールを有効化するには、次のように使用できます:

json
{
  "plugins": ["jsx-a11y"],
  "rules": {
    "jsx-a11y/mouse-events-have-key-events": "error"
  }
}
bash
oxlint --deny jsx-a11y/mouse-events-have-key-events --jsx-a11y-plugin

参照