コンテンツに移動
Silktideヘルプ

accesskey 属性

Silktide は、要素に独自のキーボードショートカットを割り当てる古い方法である accesskey を宣言している要素を検出します。これらのショートカットは常に有効で、訪問者が無効にすることはできないため、解決する問題よりも多くの問題を引き起こします。

これが重要な理由

の accesskey 属性は、キーが押されるたびに実行される1文字のキーボードショートカットを作成します。これは、多くの人がすでにキーボードを使っている方法と衝突します。 のユーザーやブラウザーは、重複するキーの組み合わせを予約しているため、accesskey によって、誰かが頼りにしているショートカットがひそかに上書きされる可能性があります。また、どのキーの組み合わせが実行するかは、ブラウザーやオペレーティングシステムによって異なります。音声入力で入力する人や手先の器用さに制限のある人は、ショートカットを誤って実行してしまうこともあります。

の達成基準 2.1.4(文字キーのショートカット、レベル A)では、1文字のショートカットを無効化または再割り当てできること、あるいは要素がを持っている間だけ実行されることを求めています。accesskey はこれらのいずれも満たしません。常に有効であり、変更できるのはサイトだけです。

修正方法

  1. accesskey 属性を削除します。実際の価値を提供することはほとんどなく、削除してもページ上で目に見える変化はありません。
<!-- 常に有効なショートカット。ユーザー自身のショートカットと競合する可能性があります -->
<a href="\/search" accesskey="s">検索</a>

<!-- 修正後:他のすべての要素と同様に Tab キーで到達できる通常のリンク -->
<a href="\/search">検索</a>
  1. キーボードショートカットが本当に必要な場合は、訪問者が無効化または再割り当てできるように実装するか、関連するコントロールにフォーカスがある間だけ適用されるようにします。

Silktide によるテスト方法

  1. ページの HTML 内で、空でない値を持つ accesskey 属性を宣言しているすべての要素を検出します。
  2. それぞれについて報告します。空の値(accesskey="")は、一部のコンポーネントライブラリが属性を何もしないものとして出力し、ショートカットを作成しないため、無視されます。

トラブルシューティング

アクセシビリティを向上させるために accesskey を追加しました

これはかつて推奨されていた方法ですが、ブラウザーやのショートカットとの競合による不利益がメリットを上回ることが分かり、現在のガイダンスではこの属性を避けるようにしています。適切に構造化され、見出しやランドマークが整ったページのほうが、キーボードユーザーにとって使いやすくなります。

JavaScript で実装したショートカット

このチェックの対象は accesskey 属性だけです。スクリプトで実装されたショートカットは、文字キーのショートカットで対象となります。この2つのチェックは補完関係にあり、同じページに両方表示される場合があります。

詳細情報

最終更新

このページは役に立ちましたか?