キャンバス アプリのライブ リージョンを使って動的な変更を通知する

動的な変更は、視覚障害を持つユーザーにとって挑戦となります。 スクリーン リーダーを介してアプリにアクセスするユーザーは、アプリの一部に集中しています。 変更が他の場所で発生しても認識することができません。

この問題は、スクリーン リーダーが追跡するライブ リージョンを追加することで解決できます。ライブ リージョンでコンテンツが変更されると、スクリーン リーダーがその変更を読み上げます。

ライブ リージョンの基盤となるメカニズムは aria-live リージョン なので、同じガイドラインが適用されます。

ライブ リージョンの使用例

次のようなイベントが発生したときに、ライブ リージョンを使用してユーザーに通知できます。

  • フォームで検証エラーが発生しました。
  • ボタンによってトリガーされたアクションが成功しました。 たとえば、ユーザーがボタンを選択してアイテムをコレクションに追加すると、ライブ リージョンに「アイテムが追加されました」というメッセージが表示されます。
  • ユーザーが別のタブを選択しました。
  • バックグラウンド タイマーがニュース フィードを更新します。

ライブ リージョンの作成および構成

ライブ リージョンとして構成できるのは、ラベル コントロールだけです。 コントロールのライブ プロパティは、どの種類のライブ リージョンであるかを決定します。

  • オフ: ライブ リージョンではありません。 スクリーン リーダーは変更を読み上げません。
  • ポライト: スクリーン リーダーは、読み上げの終了後に変更を発表します。 すぐに対応する必要がない、重要ではない通知にこの値を使用します。
  • アサーティブ: スクリーン リーダーは、変更をすぐに通知するために読み上げを中断します。 これは、すぐに対応する必要がある重要な通知に使用します。

ライブ リージョンのテキスト コンテンツが変更されると、スクリーン リーダーは、変更された部分だけでなく、テキスト コンテンツ全体を読み上げます。 Text プロパティの値が空の文字列 "" に設定されている場合、スクリーン リーダーは何も読み上げません。

メッセージを繰り返すには、テキスト プロパティの値を空の文字列 "" に設定してテキストの内容をクリアしてから、値をメッセージに再度設定します。

ベスト プラクティス

  • 表示 は常に true に設定します。 一部のスクリーン リーダーでは、非表示になった後再表示されるライブ リージョンを検出しません。
  • ライブ の値は変更しないでください。 一部のスクリーン リーダーは、非ライブ リージョンがライブになるとき、またはその逆を検出しません。
  • 表示されていない場合でも、ライブ リージョンをアプリ内の論理的な位置に配置します。 そのコンテンツが前後の要素との関連で適切であることを確認してください。 ユーザーは、変更が発生したときだけでなく、スクリーン リーダーを使用した通常の操作を通じていつでもライブ リージョンにアクセスできます。

次の手順

ライブ リージョンを視力のあるユーザーから隠す必要がある場合に、スクリーン リーダーにのみコンテンツを表示する 方法を説明します。