アクセシビリティのベスト プラクティス

Note

この記事は、System.Windows.Automation 名前空間で定義されているマネージド UI オートメーション クラスを使用する .NET Framework 開発者を対象としています。 UI オートメーションの最新情報については、Windows Automation API の「UI オートメーション」を参照してください。

コントロールやアプリケーションで以下のベスト プラクティスを実行すると、支援技術デバイスを使用するユーザーのアクセシビリティ が向上します。 このようなベスト プラクティスの多くは、優れたユーザー インターフェイス (UI) の設計に焦点を当てています。 各ベスト プラクティスには、Windows Presentation Foundation (WPF) のコントロールやアプリケーションの実装情報が含まれています。 多くの場合、これらのベスト プラクティスに対応する作業は既に WPF コントロールに含まれています。

プログラムによるアクセス

プログラムによるアクセスにより、すべての UI 要素にラベルが付き、プロパティの値が公開され、適切なイベントが発生するようになります。 標準の WPF コントロールでは、この作業の大部分が AutomationPeer を介して既に実行されています。 カスタム コントロールでは、プログラムによるアクセスが正しく実装されていることを確認する必要があります。

すべての UI 要素とテキストでのプログラムによるアクセスの有効化

ユーザー インターフェイス (UI) 要素は、プログラムによるアクセスを可能にするようにします。 UI が標準的な WPF コントロールである場合、プログラムによるアクセスのサポートがコントロールに含まれます。 コントロールがカスタム コントロール (コモン コントロールのサブクラスに指定されているコントロール、またはコントロールからサブクラスに指定されたコントロール) である場合、変更が必要な領域に対する AutomationPeer の実装を確認する必要があります。

このベスト プラクティスに従うことで支援技術ベンダーは、製品の UI の要素を特定および操作することができます。

UI オブジェクト、フレーム、およびページにおける、場所の名前、タイトル、説明

スクリーン リーダーなどの支援のテクノロジでは、ナビゲーション スキーム内のフレーム、オブジェクト、またはページの場所を理解するためにタイトルを使用します。 そのため、タイトルはわかりやすくする必要があります。 たとえば、「Microsoft Web ページ」といった Web ページのタイトルでは、ユーザーはいくつかの特定の領域に深く入っていった場合に役に立ちません。 わかりやすいタイトルは、スクリーン リーダーに依存する視覚障がい者にとって重要です。 同様に、WPF コントロールの場合、NamePropertyHelpTextProperty が支援技術デバイスにとって重要です。

このベスト プラクティスに従うことで、支援技術により、サンプル コントロールやアプリケーションの UI を識別して操作できるようになります。

プログラムによるイベントが、すべての UI 操作によってトリガーされることを確認する

このベスト プラクティスに従うことで、支援技術により、UI の変更をリッスンし、その変更についてユーザーに通知することができます。

ユーザー設定

このセクションのベスト プラクティスでは、コントロールやアプリケーションはユーザー設定をオーバーライドしないようにします。

すべてのシステム全体の設定を尊重し、ユーザー補助機能に干渉しない

ユーザーは、コントロール パネルを使用して、システム全体のフラグを設定できます。その他のフラグはプログラムで設定できます。 これらの設定は、コントロールやアプリケーションで変更しないでください。 また、アプリケーションは、ホスト オペレーティング システムのユーザー補助の設定をサポートする必要があります。

このベスト プラクティスに従うことにより、ユーザーはユーザー補助の設定を行えるとともに、これらの設定がアプリケーションによって変更されないことを認識できます。

UI のビジュアル デザイン

このセクションのベスト プラクティスでは、コントロールまたはアプリケーションが色と画像を効果的に使用するとともに、支援技術によって使用できるようにします。

色をハードコーディングしない

色覚に障がいがあるユーザー、弱視のユーザー、または白黒の画面を使用するユーザーは、ハード コーディングされた色を持つアプリケーションを使用できません。

このベスト プラクティスに従うことにより、ユーザーは、個人のニーズに基づいて色の組み合わせを調整できるようになります。

ハイ コントラストとすべてのシステム表示属性をサポートする

アプリケーションは、ユーザーが選択したシステム全体のコントラスト設定、色の選択、またはその他のシステム全体のディスプレイの設定と属性を中断または無効にしてはなりません。 ユーザーが採用しているシステム全体の設定は、アプリケーションのユーザー補助機能を強化します。そのため、これをアプリケーションによって無効にしたり、無視したりしないでください。 色は、正しいコントラストを提供するため、正しい前景色と背景色の組み合わせで使用する必要があります。 関係のない色を混ぜないでください。また、色を反転させないでください。

黒の背景に白いテキストなど、特定のハイ コントラストの組み合わせが必要なユーザーは多数います。 それらを反転させて、白地に黒のテキストとして描画すると、前景色の上に背景色がにじみ、一部のユーザーには読みづらくなります。

すべての DPI 設定によってすべての UI を正しく拡大/縮小する

すべての UI が、どのような ドット/インチ (dpi) 設定でも正しく拡大縮小できることを確認します。 また、1024×768、120 ドット/インチ (dpi) の画面に UI 要素が収まるようにします。

このセクションのベスト プラクティスでは、ナビゲーションがコントロールとアプリケーションで対処されていることを確認します。

すべての UI 要素にキーボード インターフェイスを指定する

タブ ストップは、特に慎重に計画された場合は、ユーザーが UI をナビゲートする別の方法を提供します。

アプリケーションは、次のキーボード インターフェイスを備えている必要があります。

  • ボタン、リンク、またはリスト ボックスなど、ユーザーが操作できるすべてのコントロールのタブ ストップ
  • 論理的なタブの順序

キーボード フォーカスの表示

ユーザーがキーストロークの効果を予測できるように、ユーザーはどのオブジェクトにキーボード フォーカスがあるかを認識しておく必要があります。 キーボード フォーカスを強調表示するには、色、フォント、または四角形や拡大などのグラフィックスを使用します。 キーボード フォーカスを音声で強調表示するには、音量、音の高さ、または音質を変更します。

混乱を回避するには、アプリケーションはビジュアル フォーカス インジケーターをすべて非表示にし、非アクティブなウィンドウ (またはペイン) にある選択項目を暗くする必要があります。

アプリケーションは、キーボード フォーカスで以下を行う必要があります。

  • 1 つの項目が常にキーボード フォーカスされている必要がある
  • キーボード フォーカスは明確に表示されている必要がある
  • 選択項目またはフォーカスされた項目は視覚的に強調表示されている必要がある

ナビゲーションの標準と強力なナビゲーション スキームをサポートする

さまざまなキーボード ナビゲーションの側面で、ユーザーが UI をナビゲートするさまざまな方法が提供されています。

アプリケーションは、次のキーボード インターフェイスを備えている必要があります。

  • すべてのコマンド、メニュー、およびコントロール用のショートカット キーと下線付きのアクセス キー
  • 重要なリンクへのキーボード ショートカット
  • すべてのメニュー項目にアクセス キーがあり、すべてのボタンにアクセラレータ キーがあり、すべてのコマンドにアクセラレータ キーがある

マウスの位置がキーボード ナビゲーションと干渉しないようにする

マウスの位置は、キーボードのナビゲーションと干渉しないようにしてください。 たとえば、マウスが別の場所に位置し、ユーザーがキーボードでナビゲートする場合、マウスのクリックは、ユーザーが開始するまで発生しないようにします。

マルチモーダル インターフェイス

このセクションのベスト プラクティスでは、アプリケーション UI にはビジュアル要素の代替案が含まれています。

テキスト以外の要素に相当する、ユーザーが選択可能な項目を提供する

テキスト以外の各要素について、テキスト、チャット内容、または音声による説明 (代替テキスト、キャプション、視覚的なフィードバックなど) に相当する、ユーザーが選択可能な項目を提供します。

テキスト以外の要素には、幅広い範囲の UI 要素 (画像、画像マップ領域、アニメーション、アプレット、フレーム、スクリプト、グラフィカルなボタン、サウンド、スタンドアロンのオーディオ ファイル、およびビデオなど) があります。 テキスト以外の要素は、UI のコンテンツを理解するためにユーザーがアクセスを必要とする視覚的な情報、音声、または通常のオーディオ情報が含まれる場合は重要になります。

色を使用するだけでなく、色の代替手段を提供する

色を使用して、他の手段によって示される情報を強化、強調、または再反復処理します。ただし、色単独を使用して情報を伝達しないでください。 色覚に障がいがあるユーザーまたは白黒表示のディスプレイを持つユーザーには、色の代替手段が必要です。

デバイスに依存しない呼び出しで標準の入力 API を使用する

デバイスに依存しない呼び出しは、キーボードとマウスの機能が同等であることを保証する一方、支援技術に関する必要な情報を UI に提供します。

関連項目