達成基準 2.1.4: 文字キーのショートカットを理解する

達成基準 2.1.4 文字キーのショートカット (レベル A): 文字 (大文字と小文字を含む)、句読点、数字、又は記号のみを使用したキーボードショートカットがコンテンツに実装されている場合、少なくとも次のいずれかを満たしている:

解除
ショートカットを解除するメカニズムが利用できる
再割り当て
一つ以上の非印字文字 (例えば Ctrl や Alt など) を使用するようにショートカットを再割り当てするメカニズムが利用できる
フォーカス中にのみ有効化
ユーザインタフェース コンポーネントのキーボードショートカットは、そのコンポーネントがフォーカスをもっているときのみ有効になる。

意図

この達成基準の意図は、キーボードショートカットの誤った動作を減らすことである。文字キーのショートカットは、多くのキーボード利用者にはうまく機能するが、(入力手段がひとつずつの文字列である) 音声入力の利用者や、誤ってキーを押す傾向にあるキーボード利用者にとっては不適切かつ、いら立たしい。この問題を是正するためには、コンテンツ制作者は、利用者が文字キーのみで構成されるショートカットを解除する、又は再構成できるようにする必要がある。

この達成基準は、リストボックスやドロップダウンメニューなどのコンポーネントには影響しないことに注意すること。このコンポーネント一つ以上の文字キーで選択されるかもしれない値 (単語) を含むが、ショートカットがコンポーネントにフォーカスされている時のみ有効となる。メニューなどの他のコンポーネントは、単一の文字キーを押して項目を選択する前に、単一の非文字のショートカット (例:ALT や ALT+F) でアクセス又は開くことができる。これにより、メニューを起動するための完全なパスが非印字文字を含む 2 段階ショートカットになる。 Accesskey は修飾キーを含んでいるため、影響を受けない。

音声入力の利用者は通常、口述と音声コマンドを組み合わせて使用できるよう、単一モードで作業する。これは、利用者がコマンドの前後で休止することを知っており、コマンドは通常少なくとも 2 語以上のため、うまく動作する。そのため、例えば、利用者は「小さい船」のような短い口述をしてから休止し、「行を削除」などのその口述を削除するコマンドを言う。一方で、利用者が休止せずに二つのフレーズを一緒に言うならば、フレーズ全体が口述として表現されるだろう (すなわち、「その小さい船行を削除」)。音声入力プログラムはよく口述のみを聞く又はコマンドのみを聞くモードを搭載しているが、ほとんどの音声入力の利用者は、包括的なモードのほうがはるかに効率的なワークフローであるため、常に利用している。仮に利用者が各コマンドの発行の前後にコマンドモードに変更して元に戻ならば、コマンドの効率は大幅に低下するだろう。

音声入力の利用者は、ほとんどのキーボードコマンド (例 : 「Control Foxtrot を押す」) を問題なく話すことができる。ウェブサイト又はアプリがキーボードを有効化している場合、音声入力の利用者は Ctrl+P を実行するための「これを印刷」などのキーボードコマンドを呼び出すネイティブ音声マクロを作成することもできる。

単一キーのショートカットは例外である。単一文字キーをコントロールとして用いるのは多くのキーボード利用者にとって適切かつ効率的かもしれないが、音声入力の利用者にとって単一キーのショートカットは悲惨なものである。これは、単一キーのみがコマンドを実行するために使用されると、カーソルフォーカスが誤った位置にあると、発話された単語が単一キーコマンドの連発となる可能性があるためである。

例えば、Kim という名前の音声入力の利用者は、移動 ("k")、アーカイブ ("y")、メッセージをミュート ("m") するよくあるキーボードショートカットを使用しているウェブメールアプリケーションの主ウィンドウ内にカーソルフォーカスがある。Mike という名前の同僚が彼女のオフィスに入り、"Hey Kim" と言うと、彼女のマイクがそれを拾う。"hey" の Y は、現在のメッセージをアーカイブする。"Kim" の K は会話を一つ下に移動し、M はメッセージ又ははスレッドをミュートする。そして、Kim がマイクをオフにすることを忘れ、顔を上げて "Hey Mike" と言った場合、同じ三つの出来事が異なる順序で発生する。

単一文字のショートカットを用いないウェブページ又はウェブアプリを操作している利用者にはこのような問題はない。修飾キーが必要な場合、音声アプリケーションからの不注意な文字列はショートカットとして解釈されない。テキスト入力フォームを記入している音声入力の利用者は音声マイクに偶然拾われたフレーズが、フィールドに入力されているテキストをもたらすが、これは簡単に確認及び元に戻すことに気づくかもしれない。このページの「リソース」のセクションには、これらの種類の問題を示す映像へのリンクが含まれている。

メリット

事例

ショートカットを無効にする

利用者が文字キーのショートカットを無効にできるようなメカニズムが提供されている。文字キーのショートカットはこれらのコマンドを実行する唯一の方法ではない。音声入力の利用者はショートカットを無効にし、マイクにより拾われた単語が単一キーのショートカットを動作させることを防げる。

代替コントロール

キーボードのみの利用者は、長い問題のスレッド内にいる。このスレッドを読んでいる間に、彼女は誤って「S」キーを押し、これによりこのドキュメントの上部にあるサーチバーにフォーカスを移動した。これは彼女の位置や一連の考えを失わせる。しかし、利用者が文字キーのショートカットを変更できるメカニズムが提供されている。彼女は、今後中断させられることを避けるため、ショートカットに別のキーを含めるように変更した。

関連リソース

リソースは、情報提供のみを目的としており、推奨を意味するものではない。

文字キーのショートカットを使用し、利用者がこれらのショートカットを無効及び/又は変更できるようにしているウェブアプリ:

単一文字キーのショートカットで困る音声入力の利用者の映像:

達成方法

この節にある番号付きの各項目は、WCAG ワーキンググループがこの達成基準を満たすのに十分であると判断する達成方法、又は複数の達成方法の組み合わせを表している。しかしながら、必ずしもこれらの達成方法を用いる必要はない。その他の達成方法についての詳細は、WCAG 達成基準の達成方法を理解するの「その他の達成方法」を参照のこと。

十分な達成方法

失敗例

以下に挙げるものは、WCAG ワーキンググループが達成基準の失敗例とみなした、よくある間違いである。

重要な用語

キーボードショートカット (keyboard shortcut)

一つ以上のキーを押すことによる、動作のトリガーの代替手段

メカニズム (mechanism)

結果を得るためのプロセス又は手法。

注記

メカニズムは、コンテンツ内で明示的に提供されることもあれば、プラットフォーム又は支援技術を含むユーザエージェントで提供されるものに依存することもある。

注記

メカニズムは、宣言する適合レベルのすべての達成基準を満たさなければならない。

ユーザインタフェース コンポーネント (user interface component)

コンテンツの一部分で、特定の機能を実現するための単一のコントロールとして利用者が知覚するもの。

注記

複数のユーザインタフェース コンポーネントが、単一のプログラム要素で実装されることもある。ここでいうコンポーネントは、プログラムの手法と結びついたものではなく、利用者が別々のコントロールとして知覚するものを指す。

注記

ユーザインタフェース コンポーネントには、フォーム要素、リンクだけでなく、スクリプトで生成されるコンポーネントが含まれる。

注記

ここでの「コンポーネント」又は「ユーザインタフェース コンポーネント」は、「ユーザインターフェース要素」とも呼ばれる。

アプレットには、コンテンツ内を行単位、ページ単位、又はランダムアクセスで移動するために用いられる「コントロール」がある。これらには、いずれも名前 (name) を割り当て、個別に設定できるようにする必要があるため、それぞれが「ユーザインタフェース コンポーネント」となる。


訳注: このページは、2020 年 12 月 2 日版の Understanding WCAG 2.1 の翻訳です。2020 年 12 月 2 日版の原文は WAIC の管理するレポジトリから入手可能です。