ユーザー・インターフェースをアクセス可能にするためのヒント
以下に挙げるのは、Windows が提供する IAccessibility インターフェースを使用可能にする、
一連のヒントです。
- ラベルの代わりにグループを使用する
- 関連するウィジェットのグループに表題を付けるためにラベルを使用する場合は、ラベルを除去して、表題ラベルと同じテキストを持つグループで親のコンポジットを置換します。
- 中間コンポジットを避ける
- IAccessibility ツールは、読み取るウィジェットがあるかぎり、フォーカスを持っているウィジェットの親階層を上に読み取っていきます。
テキストのないウィジェットはツリー内にはないことを確認してください。
- ラベルではなく読み取り専用のテキストを使用する
- テキストは、キーボードを使用してアクセスできます。ラベル内の情報をキーボード・ナビゲーションでアクセス可能にしたい場合は、キーボードを使用してください。テキストの横のラベルは表題として扱われることに注意してください。
したがって、表示したい表題と値のペアがある場合、値ウィジェットをテキストにすることのみが必要とされます。
- IBM チェックリストを読み、理解する
- IBM は、アクセシビリティの向上に役立つチェックリストを
http://www.ibm.com/able/guidelines/software/accesssoftware.html で提供しています。
- すべてのメニューおよびメニュー項目にニーモニックを割り当てる
- ニーモニックは、特定のメニュー内では固有であることを確認してください。メニューが複数のプラグインから動的に構成されている場合、
一般的には競合を避けることができないので、ニーモニックを割り当てない方が良いかもしれません (例:「ファイル」>「新規」リスト、または「ウィンドウ」>「ビューの表示」リスト)。
- ダイアログ / 設定ページ / プロパティー・ページ内のコントロール (例えばボタン、チェック・ボックス、ラジオ・ボタンなど) のすべてのラベルにニーモニックを割り当てる
- それらがダイアログ内で固有であることを確認します。
デフォルト・ボタンの衝突を避けるようにしてください
(例えば、設定ページでは「復元」、「デフォルト」、「適用」。ウィザードでは「次へ」、「戻る」、「終了」)。
「OK」および「キャンセル」ボタンに簡略記号を割り当てないでください。
シェルのデフォルト・ボタンを「OK」にし、さらに「キャンセル」をシェルをクローズと等価のものにすると、
Enter (キー) および Esc は、デフォルトでこれらにマップします。
一般的には、Esc あるいは Enter (キー) で何かをすることは良い考えではありません。
- ラベルを持たないコントロールの前には、必ずラベルを付ける
- コントロールが独自のラベル (例えば、テキスト・フィールド) を持っていない場合、':' で終わる先行ラベルを使用して、それにニーモニックを割り当てます。コントロールがフォーカスを持つと、JAWS のようなスクリーン・リーダー (読み上げソフトウェア) がこのラベルを読み上げます (「ウィンドウ」>「設定」>「一般」を参照)。
- 余分な自立ラベルは避ける
- 自立ラベルはフォーカスを受け取らないので、キーボードを使用しても自立ラベルにはナビゲートできません。また、JAWS などのスクリーン・リーダーは、これらのラベルをスキップします。
- メイン・ウィンドウ内のコントロールには、ニーモニックを割り当てない
- (メインメニューおよびメインメニュー項目以外の) メイン・ウィンドウ内のコントロールには、たとえメイン・ウィンドウがダイアログ (例えば、org.eclipse.ui.forms のフォーム・エディター) のように見える場合であっても、ニーモニックを割り当てないでください。これらのニーモニックは、通常メニューのニーモニックと競合します。
- 頻繁に使用する機能 (頻繁に使用する機能のみ ) にショートカット・キーを割り当てる
- SWT でショートカット・キーをフックする方法は、現在、次の 2 つだけです。
- メインメニュー・バーのメニュー項目にアクセラレーターを設定する (コンテキスト・メニューでは無視されます) -- JFace アクションではこれをサポートします。
- (例えば、ビューあるいはエディターの実装で)
特定コントロールにキー・リスナーをフックする
衝突を回避するために、Eclipse SDK のショートカット・キーの表を参照してください。この表は、「一般」>「キー」設定ページの「Eclipse」にあります。
- Alt+{key}、Ctrl+Alt+{key}、および Ctrl+Space+{key} の組み合わせは使用しない
- Alt+{key} の組み合わせは、メニューのニーモニックと競合することがあります。
- Ctrl+Alt+{key} の組み合わせは、多国語キーボードで特殊文字を入力するときに競合することがあります (alt Gr = Ctrl+Alt)。
- Ctrl+Space+{key} の組み合わせは、アジアの言語でモード切り替えに使用される Ctrl-Space と競合する可能性があります。
- ナビゲーション・コンテキストの保管を試みる
- 例えば、「ウィンドウ」>「設定」には、最後に選択されたページが記憶されています。これにより、毎回リストをナビゲートする必要がなくなります。
- プロジェクトでアクセシビリティの責任者となる特定の個人をチームに割り当てる
- 重要なことにはすべてリーダーが必要です。チーム全員が、優れたアクセシビリティが重要であることを認識していること、およびリーダーに全面的に協力する意思があることを確認してください。
- アクセシビリティのテスト
- チームに時々「マウスのプラグを抜く日」を決めてもらい、
キーボードのみを使用する製品の使用の試行を依頼します。
Windows で開発を担当している場合は、JAWSTM のコピーを入手して、UI でそれが使用可能であることを確認してください。