Java 

Java Accessibility の概要


Java Accessibility は、Java Virtual Machine 内のユーザインタフェースオブジェクトに関するユーザ補助情報を取得するための、ユーザ補助機能 (または技術) の使用を可能にします。Java Accessibility は、JDK 1.1 以降をサポートし、3 種類の方法で提供されます。

  1. Java Foundation Class のユーザ補助設計。アプリケーションを変更しないで、異なるアプリケーションの外観を「プラグイン」する機能が含まれる。この設計の詳細は、「The Swing Connection」を参照
  2. UI コンポーネント用インタフェースの「文例集」を提供する独立した Java Accessibility API ツールキット。このツールキットには、Accessible、AccessibleContext、 AccessibleComponent、AccessibleLayout、AccessibleSelection、AccessibleText および AccessibleValue の各インタフェースが含まれる。インタフェースおよびクラスの詳細は、javax.accessibility パッケージの API ドキュメントを参照
  3. 補助的な技術をサポートする Java Accessibility のユーティリティ
API インタフェースおよびクラスの説明 
Accessible インタフェース
Accessible インタフェースは、Accessibility パッケージの主要なインタフェースです。 これに含まれているメソッドは、AccessibleContext インタフェースを実装すると取得できる、ユーザ補助情報の位置を示すオブジェクトを返します。Sun は、アプリケーションにユーザ補助機能 (または技術) への「互換性」を持たせるために、アプリケーションの各 UI コンポーネントにこのインタフェースを実装するべきであると考えています。
AccessibleContext インタフェース
AccessibleContext インタフェースは、すべてのユーザ補助のオブジェクトが返す最低限の情報を表します。この情報には、オブジェクトの親子関係のほかに、ユーザ補助の名前、説明、役割、およびオブジェクトの状態が含まれます。また、AccessibleContext には、コンポーネントについてのより具体的なユーザ補助の情報を取得するためのメソッドが含まれています。
AccessibleAction インタフェース
AccessibleAction インタフェースは、ユーザ補助機能 (または技術) の標準的な機構を提供します。このインタフェースにより、動作が何であるかを特定したり、オブジェクトにその動作を実行させたりすることが可能になります。操作する可能性のあるオブジェクトは、すべてこのインタフェースをサポートする必要があります。
AccessibleComponent インタフェース
AccessibleComponent インタフェースは、オブジェクトのグラフィカルな表現を決定および設定するユーザ補助機能 (または技術) の標準的な機構を提供します。
AccessibleLayout インタフェース
AccessibleLayout インタフェースは、ユーザ補助機能 (または技術) またはその他の製品を使用して、ほかの UI「コンテナ」を持つ UI コンポーネント間をナビゲートするための標準的な手段を提供します。「コンテナ」は、java.awt.Container のインスタンス、または単に *.accessibility.Accessible のインスタンスである可能性があります。このインタフェースは、UI のコンポーネント間をナビゲートするための標準規約を提供します。Sun は、このインタフェースのデフォルトの実装を提供します。この実装では、照会を行うための規約だけが定義されています。アプリケーションが UI コンポーネントを保持するために java.awt.container または *.accessibility.Accessible を使っている場合は、UI コンポーネントは、AccessibleLayout インタフェースを使ってナビゲートすることができ、ユーザ補助機能 (または技術)と「互換性」があります。
AccessibleSelection インタフェース
AccessibleSelection インタフェースは、現在選択されている子オブジェクトの特定、および選択セットの変更を行う補助的な技術用の標準的な機構を提供します。選択可能な子オブジェクトを持つオブジェクトは、すべてこの AccessibleSelection インタフェースをサポートする必要があります。
AccessibleText インタフェース
AccessibleText インタフェースは、Java Accessibility インタフェースのリッチテキストをサポートする部分です。getIndexAtPoint、getAtIndex、getAfterIndex、getCharacterAttribute などの、テキストの照会および操作をするための新しいメソッドが含まれています。このインタフェースのメソッドの多くは、AAJ とは共通部分がありません。このインタフェースを使用しないと、Java2D が画面リーダーの Off-Screen-Model の画面読み込みを省略した場合に、Java2D で描画されたテキストにまったくアクセスできなくなってしまいます。ユーザ補助機能 (または技術) への「互換性」を持たせるために、アプリケーションの各 UI コンポーネントにこのインタフェースを実装することをお勧めします。
AccessibleValue インタフェース
AccessibleValue インタフェースには、オブジェクトの数値表現の設定および取得が可能なメソッドが含まれています。最小値および最大値を持つ固有の数値オブジェクトを数値的に再表現することにより、オブジェクトの比較が容易になります。
AbstractAccessible クラス
Java の UI コンポーネントの多くは、java.awt.Component クラスを拡張したものです。java.awt.Component には、ユーザ補助機能 (または技術) への「互換性」のために必要になる、ユーザ補助情報を取得するための public メソッドが含まれています。Accessible インタフェースには、ほとんどの UI コンポーネントにとって特に操作の必要のない java.awt.Component のメソッドが含まれています。java.awt.component を拡張すると、ほとんどの UI に必要なものがすべてそろいます。

AbstractAccessible クラスには java.awt.Component 内の多くの Accessibility メソッドのデフォルト実装が含まれています。このクラスは、java.awt.component を拡張しない UI コンポーネントを作成するアプリケーション開発者の便宜のために提供されています。このため開発者は、それらの UI コンポーネントに AbstractAccessible を継承させることによって、容易に Accessible インタフェースをサポートすることが可能です。Swing コンポーネント JTabbedPane では、内部クラスの 1 つで、JTabbedPane の個々のタブの実装に使う、非常に軽量なクラス Page に、このクラスを使用しています。Page に AbstractAccessible を継承させることによって、Page にインタフェース Accessible からのメソッドを少し追加しただけで、必要なユーザ補助をユーザ補助機能 (または技術) と「互換性」があるものにできました。

AccessibleBundle クラス
AccessibleBundle クラスには、基底クラスが含まれており、このクラスから AccessibleRole および AccessibleState クラスが継承されています。これは、あらかじめ定義された ResourceBundle から、ロケールに依存しないキーとして地域対応された文字列を取得する手段を提供する単純なクラスです。このクラスは、共通に定義された役割および状態のセットに対し、役割および状態の地域対応および拡張を可能にすると同時に、実行時の性能の高速化を可能にします。
AccessibleResourceBundle クラス
AccessibleResourceBundle クラスには、標準的な名前付きのプロパティが含まれています。これらのプロパティは、アプリケーションが実行されるすべての言語に対応させる必要があります。一覧内のどのプロパティも、AccessibleEnumeration、AccessibleRole、および AccessibleState の toDisplayString() メソッドを使って効率的に素早く取得できます。この一覧にないプロパティも、toDisplayString() を使った取得と完全な地域対応が行われますが、オーバーヘッド (拡張に必要なコスト) がより多くなります。
AccessibleRole クラス
AccessibleRole クラスは、AccessibleEnumeration クラスを継承し、UI コンポーネントの役割のカプセル化、および取得のためのメソッドを提供します。
AccessibleState クラス
AccessibleState クラスは、AccessibleEnumeration クラスを拡張し、UI コンポーネントがなり得る状態のうち、単一の状態のカプセル化および取得のためのメソッドを提供します。
AccessibleStateSet クラス
AccessibleStateSet クラスは、AccessibleState オブジェクトを収集および管理することによって、UI コンポーネントがなり得る状態のすべてのカプセル化および取得用メソッドを提供します。

Copyright © 1995-98 Sun Microsystems, Inc. All Rights Reserved. 
コメントの送付先: access@sun.com 
Sun 
Java ソフトウェア