この項では、スクリーン・リーダー・モードについて説明します。セッションは、スクリーン・リーダーでの使用に最適化されるように定義できます。これには、Application Express開発環境を使用する場合と、ユーザー独自のアプリケーションを使用する場合の両方が含まれています。
スクリーン・リーダー・モードを有効にするには、ワークスペースのホームページとOracle Application Express管理サービスのページにある「アクセシビリティ・モード」リストから「スクリーン・リーダー」を選択します。
Webシート・アプリケーションでスクリーン・リーダー・モードを有効にするには、「Webシート」ホームページの右側下にある「スクリーン・リーダー」リンクをクリックします。
Oracle Application Express開発環境をスクリーン・リーダーとともに使用する場合は、このオプションが有効であることを確認してください。
Oracle Application Express開発環境、Webシート・ランタイムに加え、独自のデータベース・アプリケーション内でも、現在Oracle Application Expressのセッションはスクリーン・リーダー用に最適化済と確認できます。デフォルトでは、セッションはスクリーン・リーダー・モードで実行するようにフラグ付けされていません。この項では、独自のデータベース・アプリケーションのユーザーがこのモードを使用できるようにする方法とそれを拡張する方法について説明します。
ヒント: スクリーン・リーダー・モードによって、スクリーン・リーダーによるOracle Application Expressの有用性が改善されますが、領域によっては未解決の問題が残っている場合があります。未解決の問題とその回避策(ある場合)の完全なリストは、「スクリーン・リーダー・モードの機能」および『Oracle Application Expressリリース・ノート』を参照してください。 |
独自のデータベース・アプリケーションで使用するスクリーン・リーダー・モードをプロビジョニングするには、次の3つの方法があります。
ページ・テンプレート#SCREEN_READER_TOGGLE#
置換文字列を使用します。
#SCREEN_READER_TOGGLE#
置換文字列をページ・テンプレートに追加すると、Oracle Application Expressでは、モードをオンまたはオフにする(切り替える)ためのリンクがカレント・ページに表示されます。したがって、標準モードの場合、このプロシージャによってモードをオンに切り替えるリンクが生成されます。
1つの場所でのみ切替えをレンダリングし、ページ・テンプレート・レベルでは行わない場合や、実際に表示されるリンク・テキストをより詳細に制御する場合に、APIを使用したい場合があります。詳細は、『Oracle Application Express APIリファレンス』のAPEX_UTILに関する説明を参照してください。
f?p構文のREQUEST属性を使用してスクリーン・リーダー・モードを有効化および無効化します。
f?pの一般的な構文は、次のとおりです。
f?p=application:page:session:request:...
リクエストがSET_SESSION_SCREEN_READER_ON
またはSET_SESSION_SCREEN_READER_OFF
の場合、セッションのスクリーン・リーダー・モードがオンまたはオフになります。次に例を示します。
<a href="f?p=100:1:&SESSION.:SET_SESSION_SCREEN_READER_ON">Set Screen Reader On</a>
「スクリーン・リーダー・モードの機能」で説明されている、このモードのデフォルトの機能に加えて、ユーザー独自のページ・コンポーネントを制御することもできます。たとえば、スクリーン・リーダー・モードでの実行時に、条件付きでリージョンを表示できます。関連するデータベース・ファンクション、APEX_UTIL.IS_SCREEN_READER_SESSIONおよびAPEX_UTIL.IS_SCREEN_READER_SESSION_YNの詳細は、『Oracle Application Express APIリファレンス』
のAPEX_UTILに関する説明を参照してください。
スクリーン・リーダー・モードを有効化すると、現在はデフォルトで次の機能を実行します。
Oracle Application Express Flashチャートはスクリーン・リーダーから現在アクセスできないため、スクリーン・リーダー・モードで実行すると、ユーザーはチャートで伝達される情報のレポート表示を受け取ります。複数シリーズのチャートでは、各シリーズについて別々のレポートが生成されます。スクリーン・リーダー・モードで実行するとき、これらのデータ表には説明テキストが次の形式で格納されます。
データベース・アプリケーションの場合
サマリー・テキスト: チャート・タイトルとチャート・シリーズ・タイトルの組合せが使用されます。
列ヘッダー: チャート・シリーズ問合せの列名または別名は、レポートの列を識別します。
Webシート・アプリケーションの場合
サマリー・テキスト: セクション・タイトルがサマリー・テキストとして使用されます。
列ヘッダー: 「データ・グリッド」レポート・ラベルは、レポートの列を識別します。
Report View
またはGroup By View
の対話モード・レポート・リージョンでは、情報を伝達するためにデータ表が使用されます。データ表では、スクリーン・リーダーのユーザーに対して表が格納する情報を記述するテキスト記述が必要です。スクリーン・リーダー・モードで実行するとき、これらのデータ表には詳細なサマリー・テキストが次の形式で格納されます。
リージョン: 開発者により定義されるリージョンの名前。
レポート: 「対話モード・レポート」内の現在の「保存されたレポート」
の名前。「保存されたレポート」が定義されていない場合は、デフォルトの「プライマリ・デフォルト」
に設定されます。
ビュー: レポートの現在のビュー(「レポート」
または「グループ化」
のいずれか)。
表示行の開始: 現在表示されている行セットの開始行。
表示行の終了: 現在表示されている行セットの終了行。
行合計: レポートにより返された行の合計数。
対話モード・レポート・リージョンには、レポート・データにAggregates
を追加する機能が提供されています。使用可能な集計の1つが列の値のSum
です。スクリーン・リーダー・モードでの実行中、合計された値の接頭辞としてSum:
のテキストが表示されます。標準モードでは、合計された値のみが表示されます。その他の集計では、モードにかかわらず、集計タイプ接頭辞がデフォルトで表示されます。
アイテム・レベルのヘルプ・テキストは、スクリーン・リーダー・モードでは別の方法で提供されます。標準モードでは、特定アイテムのヘルプ・テキストを表示するダイアログがページに表示されます。ただし、これらのダイアログはスクリーン・リーダーと一緒に使用する場合に多くの問題があるため、スクリーン・リーダー・モードで実行するときは、クラシック・ポップアップ・ページを使用してアイテムのヘルプ・テキストを表示します。
Application Expressによって、データベース・アプリケーションには、ツリーとjsTree (レガシー)の2つのツリー・リージョン・コンポーネント実装が含まれています。アクセシビリティの向上のために、ツリーを使用することをお薦めします。jsTree (legacy) にはアクセシビリティの問題がいくつかあるため、スクリーン・リーダー・モードで実行すると、ユーザーはツリーで伝達される情報の表示として、順序付けられていない階層リストを受け取ります。
スクリーン・リーダー・モードでは、発生した検証エラーに対するユーザーの処理プロセスが大きく改善されています。次の例を想定してください。フォーム・ページが送信され、検証が失敗して、エラーが表示されました。ページ・アイテムに関連付けられているエラーがある場合、マークアップがページ・アイテムに追加され、フォーム・フィールドを移動する際に、スクリーン・リーダーによってアイテムに無効なエントリが含まれていることがユーザーに通知されます。さらに、フォーム・フィールドを移動する際に、対応するエラー・メッセージがユーザーに通知されます。
ヒント: これらの改善を利用するには、使用するスクリーン・リーダーとブラウザの両方でWAI-ARIAがサポートされている必要があります。 |
対話モード・レポート・リージョンには固定ヘッダー・オプションがあり、開発者はこれを使用して、ビジュアル・ユーザー向けに対話モード・レポートのヘッダーを固定できます。この機能は基礎となる表構造を変更しますが、このことはスクリーン・リーダー・ユーザーにとって不利益となるため、スクリーン・リーダー・モードの実行時には、このオプションは無効になります。