aria-valid-attr
aria-*属性は実在する定義済みのARIA属性である必要があります
DOM内にあるすべてのaria-*属性名が、WAI-ARIA仕様で定義された実在する属性であることを確認します。
適用範囲:合成DOM内で、名前が"aria-"で始まる属性を少なくとも1つ持つすべての要素に適用されます。
期待される結果:各aria-属性名は、WAI-ARIA仕様で定義された実在する属性です(タイプミスや架空の属性名を検出します。これらは支援技術に何の通知もなく無視されるため、実際に存在する決定論的な欠陥です)。FAILではなくCANTTELLとして報告されます。仕様で定義されていないaria-属性は何の効果もないため、それがあることで要素が公開する名前、ロール、値が変わることはありません。作成者が実在する属性を意図していて、結果として要素に名前がない場合、その欠落を判定するのはこのルールではなく名前付けのルールです。ACT 5f99a7は1.3.1/4.1.2を、ルール自体より「緩い」副次的な要件として対応付けています。
検出結果が報告する内容:
attr:WAI-ARIAで定義されていないaria-*属性の名前です。
これらのdata.detailsのフィールドは、検出結果を読み解き、再現するのに役立ちます。reasonCodeと、出力スキーマで安定と明記された一部のフィールドを除き、安定した契約ではありません。マイナーリリースで名前が変わったり、なくなったりすることがあるため、これらに依存した実装はしないでください。
例
<button aria-label="Save">Save</button>
aria-labelは実在する定義済みのARIA属性です。
<button aria-labeledby="x">Save</button>
aria-labeledbyはタイプミスで(正しい属性はaria-labelledby)、支援技術に何の通知もなく無視されます。
確認方法
このルールが判断できない場合はcantTellを報告し、判断を人に委ねます。ルールが投げかける各質問を、理由コードごとに、答えるための手順とともにここに示します。検出結果にも同じ手順がhowToCheckとして、スキャンの言語で含まれます。出力スキーマを参照してください。
ARIA_ATTR_INVALID
- レポートに示された要素を調べ、不明なaria-*属性を控えてください。
- それが実在する属性の綴り誤り(aria-lable、aria-labeledby、aria-describeby、aria-hiden)か、独自に作られたフック(aria-qa、aria-test)かを確認してください。
- 綴り誤りであれば、ブラウザーの開発者ツールでアクセシビリティペインを開き、正しい属性が与えるはずのもの(名前、説明、非表示の状態)がいずれにせよ存在するか確認してください。
- スクリーンリーダーで要素に移動し、読み上げられる内容を聞いてください。
満たす場合:その属性は支援技術向けではないデータ用のフックであるか、意図された内容が別の方法で提供されています。
満たさない場合:実在する属性の誤字であり、その効果が欠けています。たとえば、コントロールに名前がない、または装飾的なコンテンツが隠されていないため、WCAG 4.1.2を満たしません(ACT 5f99a7)。