動的な変更は、視覚障穙者に課題を与えます。 スクリーン リーダーを使用してアプリにアクセスするユーザーは、アプリの 1 つの部分に重点を置きます。 他の場所で変更が発生した場合、それらのユーザーはその変更を認識しません。
この問題を解決するには、スクリーン リーダーが追跡するライブ領域を追加します。ライブ リージョンでコンテンツが変更された場合、スクリーン リーダーはその変更を読み上げられます。
ライブ リージョンの基になるメカニズムは aria-live リージョンであるため、同じガイドラインが適用されます。
ライブ リージョンの使用例
ライブ リージョンを使用して、次のようなイベントが発生したときにユーザーに通知できます。
- フォームで検証エラーが発生します。
- ボタンによってトリガーされるアクションが成功しました。 たとえば、ユーザーがコレクションに項目を追加するボタンを選択し、ライブ領域に "Item added" というメッセージが表示される場合があります。
- ユーザーが別のタブを選択しました。
- バックグラウンド タイマーはニュース フィードを更新します。
ライブ リージョンを作成して構成する
Label コントロールのみをライブ リージョンとして構成できます。 Live プロパティは、ライブ領域の種類を決定します。
- オフ: ライブ リージョンではありません。 スクリーン リーダーは変更を読み上げません。
- 丁寧: スクリーン リーダーは、話し終えた後に変更を発表します。 この値は、すぐに注意する必要のない重要でない通知に使用します。
- アサーティブ: スクリーン リーダーは、変更をすぐに通知するために読み上げを中断します。 これは、すぐに注意が必要な重要な通知に使用します。
ライブ領域のテキスト コンテンツが変更されると、スクリーン リーダーは、変更された部分だけでなく、テキスト コンテンツ全体を読み上げるようになります。 Text プロパティの値が空の文字列 "" に設定されている場合、スクリーン リーダーは何も読み上げません。
メッセージを繰り返すには、 Text プロパティの値を空の文字列 "" に設定してテキストの内容をクリアし、値をもう一度メッセージに設定します。
ベスト プラクティス
- 常に Visible を true に設定します。 スクリーン リーダーの中には、消えて再表示されるライブ領域が検出されないものもあります。
- Live の値を変更しないでください。 一部のスクリーン リーダーでは、非ライブ リージョンがいつライブになり、その逆も検出されない場合があります。
- ライブ領域が表示されない場合でも、アプリ内の論理的な位置に配置します。 その内容が、その前後の要素とコンテキストで適切であることを確認します。 ユーザーは、変更が発生した場合だけでなく、スクリーン リーダーを使用して定期的なナビゲーションを通じていつでもライブ リージョンにアクセスできます。