時間制限によるデータ損失
Silktide は、ウェブサイトが一定時間操作されなかった後にユーザーをサインアウトさせる場合、ユーザーが再度サインインして、入力した内容を失うことなく中断したところから続行できることを確認するよう求めます。
これは、セッションの有効期限が切れる認証済みのあらゆる領域に適用されます。アカウントのダッシュボード、申込フォーム、購入手続き、管理画面などが該当します。
これが重要な理由
障害のある人は、フォームの入力を完了するまでにより長い時間を必要とすることがよくあります。たとえば、のユーザーはフィールドを1つずつ移動し、運動障害のある人はゆっくり入力し、認知障害のある人は書類を集めたり説明を読み直したりするために一時停止することがあります。 その間にセッションの有効期限がひそかに切れると、フォームを送信した際にすべての内容が破棄されてしまいます。そして、時間切れになる可能性が最も高い人ほど、すべてを再入力することが最も困難な人でもあります。
再認証の前後でデータを保持すれば、タイムアウトによって訪問者が失うのは作業内容ではなく、サインインの手間だけになります。
修正方法
このチェックでは、セッションの処理方法に依存するため、動作を手動で確認するよう求めます。
- サインインした状態で、長いフォームなど、入力を必要とする作業を開始します。
- セッションの有効期限が切れるまで待つ(または強制的に切れさせる) ואז、もう一度サインインします。
- 入力したデータが保持されたまま、同じ作業に戻れることを確認します。
データが失われる場合は、次のような対策が一般的です。
- ユーザーの入力中にフォームデータをサーバーまたはブラウザーに保存し、再認証後に復元します。
- 現在のページの上にオーバーレイとして再認証を表示し、ページの状態(およびフォームデータ)が破棄されないようにします。
- セキュリティ上可能であれば、操作がない場合のタイムアウトを延長または削除します。
Silktide によるテスト方法
- Silktide は、セッションの有効期限が切れることや、その後に入力データがどうなるかを確認できません。これらの動作は、サインインしたユーザーが一定時間利用した場合にのみ現れるためです。
- 代わりに、このチェックではページごとに1件のレビュー用プロンプトを表示し、動作を自分で確認するよう求めます。
- ページを確認したら、を記録してチェック済みとしてマークします。