Skip to content

テクニック ARIA23:逐次的な情報更新を識別するために role=log を使用する

このテクニックについて

このテクニックは 4.1.3: ステータスメッセージ (十分なテクニック) に関連する。

このテクニックは、WAI-ARIA を用いる HTMLに適用される。

解説

このテクニックの目的は、アプリケーションの履歴又はログに関する逐次的な情報にコンテンツが付加されたときに、支援技術に通知することである。log ロールの ARIA ライブライブリージョンは、暗黙的に aria-live の属性値 polite 及び aria-atomic の属性値 false を持っており、ログメッセージが追加されたときに、利用者は支援技術(スクリーンリーダーなど)を介して通知を受けることが可能になる。ARIA ライブライブリージョン内の新しいコンテンツは、テキストが表示されている箇所にフォーカスが当たっていなくても、支援技術が自動的に読み上げる。詳細は WAI-ARIA 1.1 log (role) を参照。

事例

事例 1: チャットの会話のコンテンツを更新する

利用者がチャットの入力フィールドにタイプ入力したコメントは、チャット履歴領域の末尾に追加される。この領域は log ロールでマークされており、新たな追加は支援技術によってアナウンスされるようになっている。新しいチャットメッセージが表示されるたび、スクリーンリーダーはその内容を読み上げる。(支援技術/ブラウザの互換性に依存する)。

<div id="chatRegion" role="log" aria-labelledby="chatHeading">
  <h4 id="chatHeading">Chat History</h4>
  <ul id="conversation">
    <li>The latest chat message</li>
  </ul>
</div>

動作例: チャットの会話に role="log" を使用する

事例 2: サーバのログを更新する

アプリケーションのログは、タイムスタンプ付きのアクティビティを記録する。ログはアプリ内でビューとして公開され、その領域は、新たな追加が支援技術によってアナウンスされるように、log ロールでマークされている。(aria-relevant 属性のデフォルト値は "additions" なので、ログサイズの制限による古いトップエントリーの削除はアナウンスされない)。新たなログのエントリーが追加されるたびに、スクリーンリーダーはそれを読み上げる。

<div id="activityLog" role="log">
  <h4 id="logHeading">Recent activity</h4>
  <ul id="logentries"">
    <li>08:03 UserX logged off</li>
  </ul>
</div>

動作例: サーバのログに role="log" を使用する

検証

手順

逐次的に情報を更新しているページに対して次を確認する。

  1. その情報のためのコンテナに log ロールが付与されていること。

期待される結果

  • 1 の結果が真である。
Back to Top