2

いくつかのJLabel、いくつかの読み取り専用JEditorPanes、およびいくつかのボタンを含む単一のSwingJFrameがあります。JAWSユーザーは、必要なユーザー操作を減らしてアプリケーションを読み取ることを要求しています。現在、アプリケーションは特定の要素にフォーカスがある状態で起動し、ユーザーはTabキーを押してフォーカスを移動し、次の要素に進む必要があります。たとえば、Webページの場合、JAWSは、ユーザーがTabキーを押すことなく、すべてを調べて読み取るだけです。特にJAWSユーザーにとっては、読み取り専用のJEditorPanesは一度に1行のテキストしか読み取らないため、ユーザーは上下の矢印キーを押してテキスト間を移動する必要があります。

このJFrameをJAWSバージョン9のユーザーにもっと流暢に読ませるためにどうすればよいですか?

4

1 に答える 1

1

これは可能かもしれませんが、実際にはサポートされていないJawsCOMAPIを使用する必要があります。Jawsは、Webサイトとは大きく異なる方法でデスクトップアプリケーションと対話します。Jawsは、Webページを仮想バッファーにレンダリングし、あらゆる種類の魔法を実行して、Webページを使いやすくします。Jawsは、デスクトップアプリケーションに対してこれを行いません。これが行われない理由の一部は、デスクトップアプリケーションが、HTMLで使用できる代替のプレゼンテーションモードを作成するために使用できるすべての情報を持っていないためだと思います。Jawsに含まれているユーティリティでさえ、自動的に読み取り専用の編集フィールドが話されるわけではありません。本当にこれを行う必要がある場合、最善の策は、ユーザーがフォーカスを与えたときに、読み取り専用の編集フィールドの内容を顎のAPIを介して話すことです。これには、APIにアクセスするためにJavaアプリケーションでwithからCOMを使用する必要があります。なんらかの形でCOMを使用できるJavaライブラリがあることは知っていますが、これを行ったことはありません。APIのコピーは、標準のJawsインストールディレクトリにあります。私の場合は、

c:\program files\Freedom Scientific\jaws\jfwapi.dll

私が見つけることができる公式のドキュメントがないので、どのメソッドが利用可能であるかを決定するためにCOMライブラリを調べるためにあなたのお気に入りのアプリケーションを使用する必要があります。次のコードサンプルもご覧ください。これはAutoItに含まれていますが、複数のスクリーンリーダーを使用してテキストを読み上げる方法の概要を示しています。http://www.scribd.com/doc/19371/speak-with-autoit

于 2010-11-02T23:10:38.247 に答える