ユーザー補助のベスト プラクティス
更新 : 2007 年 11 月
ここでは、コントロールやアプリケーションで支援技術デバイスを使用するユーザーのアクセシビリティを向上させるためのベスト プラクティスを示します。これらのベスト プラクティスの多くは、ユーザー インターフェイス (UI) の設計に重点を置いています。各ベスト プラクティスには、Windows Presentation Foundation (WPF) のコントロールやアプリケーションの実装情報が含まれています。多くの場合、これらのベスト プラクティスに従うための処理は既に WPF コントロールに含まれています。
このトピックには次のセクションが含まれています。
- プログラムによるアクセス
- ユーザー設定
- UI のビジュアル デザイン
- ナビゲーション
- マルチモーダル インターフェイス
- 関連トピック
プログラムによるアクセス
プログラムによるアクセスでは、すべての UI 要素にラベルが付いており、プロパティ値が公開されていて、適切なイベントが発生するようになっている必要があります。標準の WPF コントロールでは、この作業のほとんどは既に AutomationPeer によって行われています。カスタム コントロールでは、プログラムによるアクセスが正しく実装されていることを確認する追加の作業が必要になります。
すべての UI 要素とテキストにプログラムでアクセスできるようにする
ユーザー インターフェイス (UI) 要素にプログラムでアクセスできるようにする必要があります。UI が標準の WPF コントロールの場合は、プログラムによるアクセスのサポートはコントロールに含まれています。コントロールがカスタム コントロール (共通のコントロールからサブクラス化されたコントロールや Control からサブクラス化されたコントロール) の場合は、AutomationPeer の実装で変更が必要な領域がないかどうかをチェックする必要があります。
このベスト プラクティスに従うと、作成した製品の UI 要素を支援技術のベンダが識別および操作できるようになります。
UI のオブジェクト、フレーム、およびページに名前、タイトル、および説明を付ける
スクリーン リーダーなどの支援テクノロジでは、ナビゲーション スキームにおけるフレーム、オブジェクト、またはページの位置を、タイトルを使用して把握します。したがって、わかりやすい説明的なタイトルを付ける必要があります。たとえば、ユーザーが既に特定の領域の深いレベルに移動している場合は、"Microsoft Web Page" という Web ページ タイトルは役に立ちません。目が不自由でスクリーン リーダーに依存しているユーザーにとっては、説明的なタイトルが非常に重要になります。同様に、Windows Presentation Foundation (WPF) コントロールでは、NameProperty と HelpTextProperty が支援技術デバイスにとって重要になります。
このベスト プラクティスに従うと、サンプル コントロールやアプリケーションの UI を支援技術で識別および操作できるようになります。
すべての UI 操作でプログラム イベントが発生するようにする
このベスト プラクティスに従うと、支援技術で UI の変更をリッスンして、それらの変更をユーザーに通知できるようになります。
ユーザー設定
ここでは、コントロールやアプリケーションによってユーザー設定がオーバーライドされないようにするためのベスト プラクティスを示します。
システム全体の設定をすべて尊重し、ユーザー補助機能に干渉しないようにする
システム全体のフラグには、ユーザーがコントロール パネルを使用して設定できるものと、プログラムで設定できるものがあります。これらの設定がコントロールやアプリケーションによって変更されないようにする必要があります。また、ホスト オペレーティング システムのユーザー補助設定をアプリケーションでサポートする必要もあります。
このベスト プラクティスに従うと、ユーザーが設定したユーザー補助設定がアプリケーションによって変更されなくなります。
UI のビジュアル デザイン
ここでは、コントロールやアプリケーションで色やイメージを効果的に使用しつつ、支援技術でも使用できるようにするためのベスト プラクティスを示します。
色をハードコーディングしない
アプリケーションで色をハードコーディングすると、視覚障害のあるユーザーやモノクロの画面を使用しているユーザーが、アプリケーションを使用できなくなる可能性があります。
このベスト プラクティスに従うと、ユーザーがそれぞれのニーズに応じて色の組み合わせを調整できるようになります。
ハイ コントラストとすべてのシステム表示属性をサポートする
ユーザーが選択したシステム全体のコントラストの設定、色の選択、またはその他のシステム全体の表示設定や表示属性を、アプリケーションで阻害したり無効にしたりしないようにしてください。ユーザーによって採用されたシステム全体の設定は、アプリケーションのアクセシビリティを強化します。したがって、アプリケーションで無効にしたり無視したりするべきではありません。色は正しい前景色と背景色の組み合わせで使用して、適切なコントラストが得られるようにする必要があります。関連のない色を組み合わせたり、色を反転させたりしないでください。
特定のハイ コントラストな組み合わせ (黒い背景に白いテキストなど) は、多くのユーザーに必要です。それらを反転させて描画すると (白い背景に黒いテキストなど)、背景色が前景色の邪魔をして、一部のユーザーにとって読みにくくなる可能性があります。
すべての UI がどの DPI 設定でも正しくスケーリングするようにする
すべての UI がどのドット/インチ (dpi) 設定でも正しくスケーリングするようにします。また、UI 要素は 1024 x 768 (120 ドット/インチ (dpi)) の画面に収まるようにします。
ナビゲーション
ここでは、コントロールやアプリケーションのナビゲーションのベスト プラクティスを示します。
すべての UI 要素にキーボード インターフェイスを用意する
タブ位置は、特に入念に計画すると、UI を操作するための別の方法となります。
アプリケーションでは、次のキーボード インターフェイスが必要です。
タブ位置。ボタン、リンク、リスト ボックスなど、ユーザーが操作できるすべてのコントロールに必要です。
論理タブ オーダー。
キーボード フォーカスを表示する
どのオブジェクトにキーボード フォーカスがあるかを知らせて、ユーザーがキーストロークの効果を予測できるようにする必要があります。キーボード フォーカスを強調表示するには、色、フォント、またはグラフィックス (四角形や拡大など) を使用します。キーボード フォーカスを音声で強調するには、ボリューム、音程、または音色を変更します。
混乱を避けるために、アプリケーションでは、アクティブでないウィンドウ (またはペイン) にあるフォーカスの有無を示す要素をすべて非表示にする必要があります。
アプリケーションのキーボード フォーカスの処理の要件を以下に示します。
常に 1 つの項目がキーボード フォーカスを持つ必要があります。
キーボード フォーカスは一目でわかる必要があります。
選択された項目やフォーカスがある項目を強調表示する必要があります。
ナビゲーションの標準と強力なナビゲーション スキームをサポートする
キーボード ナビゲーションにはさまざまな方法があり、それにより、ユーザーは UI を異なる方法で操作できます。
アプリケーションでは、次のキーボード インターフェイスが必要です。
ショートカット キーと下線付きのアクセス キー。すべてのコマンド、メニュー、およびコントロールに必要です。
重要なリンクへのキーボード ショートカット。
すべてのメニュー項目のアクセス キー、すべてのボタンのアクセラレータ キー、およびすべてのコマンドのアクセラレータ キー。
マウス ポインタの位置がキーボード ナビゲーションに干渉しないようにする
マウス ポインタの位置がキーボード ナビゲーションに干渉しないようにする必要があります。たとえば、マウス ポインタの場所にかかわらず、ユーザーがキーボードを操作中の場合は、ユーザーが実際にマウスをクリックしない限り、マウス クリックが発生しないようにする必要があります。
マルチモーダル インターフェイス
ここでは、アプリケーションの UI にビジュアル要素の代わりとして使用できる要素を含めるためのベスト プラクティスを示します。
非テキスト要素について、ユーザーが選択できる同等の要素を用意する
各非テキスト要素について、テキスト、内容、またはオーディオの説明による同等の要素 (代替テキスト、キャプション、視覚的フィードバックなど) をユーザーが選択できるように用意します。
非テキスト要素には、イメージ、イメージ マップ領域、アニメーション、アプレット、フレーム、スクリプト、グラフィカルなボタン、サウンド、スタンドアロンのオーディオ ファイル、ビデオなど、多岐にわたる UI 要素が含まれます。UI の内容を理解するためにアクセスする必要がある視覚的情報、音声、一般的なオーディオ情報などが含まれている非テキスト要素は重要です。
色を使用しつつその代替手段も用意する
他の手段によって示されている情報を、色を使って強化、強調、または反復します。ただし、情報を伝達するために色のみを使用しないでください。視覚障害のあるユーザーやモノクロのディスプレイを使用しているユーザーには、色の代わりとなる手段が必要です。
デバイスに依存しない呼び出しで標準の入力 API を使用する
デバイスに依存しない呼び出しを使用すると、キーボードやマウスの機能の同一性を確保しつつ、UI に関する必要な情報を支援技術に提供することができます。
参照
処理手順
テーマおよび UI オートメーションがサポートされた NumericUpDown カスタム コントロールのサンプル
参照
System.Windows.Automation.Peers