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

このセクションで説明するベスト プラクティスを実装することで、支援技術製品を使用するユーザーがアプリケーションにアクセスできるようになります。 これらのベスト プラクティスの多くは、優れた UI 設計に焦点を当てています。 各ベスト プラクティスには、 コントロールまたはアプリケーションの実装の情報が含まれています。 多くの場合、これらのベスト プラクティスを満たすための作業の多くは、既にコントロールに含まれています。

このトピックは、次のセクションで構成されています。

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

このセクションのベスト プラクティスは、支援技術製品が UI 情報と機能にプログラムで適切にアクセスすることを保証します。

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

アプリケーションの UI 要素には、支援技術製品からプログラムでアクセスできる必要があります。 すべての UI 要素にはラベルが必要で、すべてのプロパティ値を公開し、すべての適切なイベントを発生させる必要があります。 標準の Windows コントロールの場合、この作業のほとんどは、既に Microsoft UI オートメーションおよび Microsoft Active Accessibility プロキシ オブジェクトを通じて行われています。 ただし、カスタム コントロールでは、支援技術ベンダーがアプリケーション UI の要素を識別して操作できるように、完全に公開されるための追加の作業が必要です。

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

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

支援技術製品、特にスクリーン リーダーは、ナビゲーション スキームにおけるフレーム、オブジェクト、またはページの位置を理解するためにタイトルを使用するため、タイトルが非常にわかりやすいものである必要があります。 わかりやすいタイトルにより、支援技術製品でコントロールやアプリケーションの UI 要素を識別し、操作できるようになります。 たとえば、"Microsoft Web Page "という Web ページのタイトルは、ユーザーが特定の領域の詳細に移動した場合は役に立たなくなります。 わかりやすいタイトルは、目が不自由でスクリーン リーダーに依存しているユーザーにとって非常に重要です。

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

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

UI 要素の状態または外観に変更が生じるたびに、アプリケーションでイベントを発生させる必要があります。

このベスト プラクティスに従うことで、支援技術製品で UI の変更を聞き、その内容をユーザーに通知できます。

ユーザー設定

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

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

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

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

UI のビジュアル デザイン

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

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

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

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

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

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

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

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

すべての UI 要素が、どのような DPI (1 インチあたりのドット数) 設定でも正しくスケーリングできることを確認します。 また、1024×768、120 ドット/インチ (dpi) の画面に UI 要素が収まるようにします。

キーボード ナビゲーション

このセクションのベスト プラクティスは、キーボードに依存するユーザーがすべてのアプリケーション機能にアクセスできるようにします。

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

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

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

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

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

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

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

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

  • 1 つのアイテムに常にキーボード フォーカスがある必要があります。
  • キーボード フォーカスは視覚的で明白なものである必要があります。
  • 選択項目や重点項目は、視覚的に強調表示される必要があります。

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

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

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

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

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

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

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

このセクションのベスト プラクティスは、アプリケーション UI がビジュアル要素の代替を含めるようにすることです。

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

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

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

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

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

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

デバイスに依存しない呼び出しにより、すべての入力デバイスが均等に処理され、UI に関して必要な情報が支援技術製品に提供されます。

Windows Automation API の概要