jsx-a11y/mouse-events-have-key-events 正しさ
何をするか
onMouseOver / onMouseOut が onFocus / 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