accesskeys
accesskeyの値は一意である必要があります
ページ上の複数の要素が同じaccesskey属性値を共有していないことを確認します。
適用範囲:2つ以上の要素が空でないaccesskey属性を持つ場合に適用されます。そのときにだけ、2つの要素のキーが衝突する可能性があるからです。
期待される結果:ページ上のaccesskeyの値はすべて一意です。accesskeyが重複していると、キーボードショートカットでどの要素が有効になるかが曖昧になります。同じキーを共有する要素のうち、実際にそのキーで到達できるのは1つだけで、どれになるかはブラウザーやプラットフォームによって異なります。
検出結果が報告する内容:
accesskey:共有されているキーです(小文字)。duplicateCount:そのキーを共有しているページ上の要素の数です(この要素を含みます)。
これらのdata.detailsのフィールドは、検出結果を読み解き、再現するのに役立ちます。reasonCodeと、出力スキーマで安定と明記された一部のフィールドを除き、安定した契約ではありません。マイナーリリースで名前が変わったり、なくなったりすることがあるため、これらに依存した実装はしないでください。
例
<a href="/a" accesskey="a">A</a><a href="/b" accesskey="b">B</a>
ページ上のaccesskeyの値はすべて一意です。
<a href="/s1" accesskey="s">S1</a><a href="/s2" accesskey="s">S2</a>
2つの要素が同じaccesskeyの値(「s」)を共有しており、多くのブラウザーではどちらが選ばれるか予測できません。
確認方法
このルールが判断できない場合はcantTellを報告し、判断を人に委ねます。ルールが投げかける各質問を、理由コードごとに、答えるための手順とともにここに示します。検出結果にも同じ手順がhowToCheckとして、スキャンの言語で含まれます。出力スキーマを参照してください。
ACCESSKEY_DUPLICATE
- レポートに示されたアクセスキーを控え、それを共有しているほかの要素を見つけてください。
- そのキーを使ってブラウザーのアクセスキーの組み合わせ(たとえばAltまたはAlt+Shiftとそのキー)を押し、どの要素にフォーカスが移るか、または作動するかを控えてください。
- もう一度押し、そのキーを共有する各要素に到達できるか確認してください。
満たす場合:そのキーを持つ各要素にそのキーで到達できるか、重複は意図されたもので害はありません。
満たさない場合:キーに反応するのは要素の1つだけで、ほかの要素にはショートカットで到達できません(ベストプラクティス、WCAG 2.1.1に関連)。