WCAG 2.2は、Webコンテンツを多様な利用者が使えるようにするためのアクセシビリティ指針です。
達成基準「2.2.6 タイムアウト」は、利用者が操作していない時間によって入力内容などが失われる場合に、その無操作時間の長さを事前に知らせることを求めています。
無操作時間とは、利用者の操作がない状態が連続している時間です。
入力や確認に時間がかかる利用者も、タイムアウトまでの時間をあらかじめ把握できれば、休憩を取るか、必要な情報を先に準備するかを判断しやすくなります。
達成基準2.2.6が求めること
達成基準2.2.6はLevel AAAに分類されています。
対象となるのは、WebサイトやWebアプリケーションの提供者が把握または制御できるタイムアウトのうち、利用者の無操作によってデータが失われるものです。
対応は次の二つに整理できます。
| 実装方針 | 必要な対応 | 利用者への影響 |
|---|---|---|
| データを保存する | 利用者が何も操作しなくても、入力済みデータを20時間を超えて保存する | セッションが切れても、保存期間内であれば作業を再開できる |
| 無操作時間を知らせる | データ損失につながる無操作時間の長さを、関連する作業の開始時に知らせる | 利用者が必要な時間を見積もり、作業の進め方を選べる |
「セッション」と「データ保存」を分けて考える
20時間という条件は、ログイン状態を20時間維持することではなく、無操作のままでも利用者のデータを20時間を超えて保持することに関係します。
たとえば、セッションが先に終了しても、再ログイン後に入力内容を復元できる設計であれば、ログイン状態とデータ保存期間は別々に管理されています。
反対に、ログイン状態が続いていても入力内容が途中で消えるなら、セッションの長さだけではデータ損失を防げません。
通知文に含める情報
データを20時間を超えて保存しない場合は、関連する手続きや入力作業を始める時点で、無操作時間とその結果を具体的に示します。
通知には、少なくとも次の情報を含めます。
- どの作業や画面にタイムアウトがあるか
- 操作がない状態が何分または何時間続くとタイムアウトするか
- タイムアウトすると、どの入力内容や作業状態が失われるか
- 保存や再開の方法がある場合は、その利用方法
「セッションがまもなく切れます」だけでは、利用者は作業に使える時間を事前に判断できません。
この申込み画面では、操作が10分間ないとセッションが終了し、未保存の入力内容が失われます。
この例のように、時間と結果を同じ通知で示すと、利用者が必要な準備をしやすくなります。
直前警告と延長機能の位置づけ
タイムアウト直前の警告や「セッションを延長する」ボタンは、データ損失を減らすための補助策になります。
ただし、達成基準2.2.6の中心は、データ損失につながる無操作時間の長さを作業開始時に知らせることです。
直前警告だけに頼らず、開始時の通知と組み合わせます。
延長機能を設ける場合は、画面上のタイマーだけでなく、サーバー側のセッションも実際に延長されることを確認します。
実装を進める手順
- タイムアウトを洗い出す:ログイン、入力フォーム、申込み、購入など、無操作で状態が変わる画面を確認します。
- 失われるデータを特定する:未送信の入力内容、選択状態、途中までの手続きなど、タイムアウトの影響を記録します。
- 対応方針を選ぶ:データを20時間を超えて保存するか、データ損失につながる無操作時間を知らせるかを決めます。
- 通知を配置する:利用者が作業を始める前に確認できる位置へ、時間と結果を具体的に表示します。
- 実際の動作を確認する:画面表示、サーバーの設定、データ保存、再ログイン後の復元が説明どおりに動くかを確かめます。
保存先や保存方法は、扱うデータの性質に応じて、セキュリティとプライバシーの要件も含めて設計します。
データを一定時間保持するだけで、ほかのアクセシビリティ要件や安全上の要件まで満たせるわけではありません。
よくある失敗
無操作時間を示さない
「まもなく終了します」という通知だけでは、利用者が残り時間や作業の見通しを判断できません。
「操作が10分間ない場合」のように、基準となる時間を明記します。
直前になって初めて知らせる
作業の終盤で初めてタイムアウトを知らせると、利用者は必要な時間を開始前に見積もれません。
直前警告を設ける場合も、作業開始時の通知を残します。
セッションの長さだけを確認する
確認すべきなのは、ログイン状態だけではなく、入力済みデータがいつまで保持され、再開時に復元できるかです。
画面上の延長だけが動く
ボタンを押すと表示上のタイマーが戻っても、サーバー側のセッションが終了するなら、利用者は作業を続けられません。
画面とサーバーの動作を一つの流れとしてテストします。
手動テストの進め方
自動検査ツールはHTMLの一部を確認する助けになりますが、サーバー上の保存期間や実際のタイムアウト動作までは自動検査の結果だけで判断できません。
ウェブアクセシビリティチェックの進め方も参照しながら、次の項目を手動で確認します。
| 確認場面 | 確認内容 |
|---|---|
| 作業開始前 | 無操作時間と、失われるデータが具体的に表示されているか |
| 無操作のまま待機 | 説明した時間にタイムアウトし、失われる内容が通知どおりか |
| データ保存を選んだ場合 | 無操作でも所定の保存期間を超えて入力内容を復元できるか |
| 延長機能がある場合 | ボタン操作後に画面とサーバーの両方でセッションが延長されるか |
| 再ログインが必要な場合 | 保存すると説明した入力内容を再開できるか |
テストでは、通知文だけを見るのではなく、通知した内容と実際の動作が一致しているかを確認します。
タイムアウトへの配慮が役立つ利用者
長い説明を読みながら入力する人、操作手順を確認しながら進める人、途中で休憩が必要な人は、一定の時間内に作業を終えられないことがあります。
無操作時間を先に知らせるか、入力内容を十分な期間保存すれば、予期しないデータ損失を減らし、利用者が自分のペースで作業を進めやすくなります。
実装時の確認点
- データ損失につながる無操作時間を把握する
- 入力済みデータを20時間を超えて保存できるか検討する
- 保存しない場合は、作業開始時に無操作時間と結果を知らせる
- 直前警告や延長機能を補助策として正しく動作させる
- 通知内容と実際のセッション、データ保存の動作を手動で照合する
達成基準2.2.6への対応では、「何分でログアウトするか」だけでなく、「利用者の入力内容がいつ失われるか」を基準に設計とテストを進めます。
当社では、Webアクセシビリティの導入を支援するUUU ウェブアクセシビリティを提供しています。
アクセシビリティ改善に取り組む際は、サービスの詳細もご覧ください。

