Skip to content
← Back to rules

jsx-a11y/no-redundant-roles 正しさ

An auto-fix is available for this rule.

何をするか

要素の種類が持つ暗黙的な role 属性と同一である場合に、不要な role 属性が含まれていないことを強制します。

なぜ悪いのか

不要な role 属性は、コードベース内の混乱や冗長性を引き起こす可能性があります。

このルールは以下の要素およびその暗黙的な role 属性に適用されます:

  • <nav>: navigation
  • <button>: button
  • <body>: document

このルールに違反するコードの例:

jsx
<nav role="navigation"></nav>
<button role="button"></button>
<body role="document"></body>

このルールに従う正しいコードの例:

jsx
<nav></nav>
<button></button>
<body></body>

使用方法

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

json
{
  "plugins": ["jsx-a11y"],
  "rules": {
    "jsx-a11y/no-redundant-roles": "error"
  }
}
bash
oxlint --deny jsx-a11y/no-redundant-roles --jsx-a11y-plugin

参照