--- name: session-timeout-recovery description: "Use when reviewing authenticated user flows or long forms. Check both client and server behavior: warning timing, dialog accessibility, autosave frequency, timeout extension, and post-login state restoration." metadata: category: accessibility priority: high difficulty: advanced estimatedTime: "30" source: frontendchecklist.io url: https://frontendchecklist.io/en/rules/accessibility/session-timeout-recovery --- # Prevent data loss from session timeouts Users with cognitive, motor, or vision disabilities may need longer to finish forms and authenticated tasks. Silent session expiry can erase work, force a restart, and block completion of important transactions. ## Quick Reference - Warn users before a timeout causes lost work - Allow time extension for content-controlled time limits when feasible - Autosave or preserve entered data across logout and re-authentication - Keep timeout dialogs keyboard accessible and announced to assistive technology ## Check Review authenticated flows, forms, and long-running tasks for inactivity timeouts. Verify users are told the timeout duration, warned before expiry, can extend the session when allowed, and can resume after re-authenticating without losing work. ## Fix Add an accessible timeout warning, preserve drafts or submitted data across session expiry, and restore the user to the same step after re-authentication. Where the time limit is content-controlled, offer turn off, adjust, or extend behavior when feasible. ## Explain Explain how timeout warnings, extension controls, autosave, and re-authentication recovery reduce data loss and align with WCAG enough-time guidance. ## Code Review Review authenticated forms, checkout flows, editors, and long-running tasks related to Prevent data loss from session timeouts. Flag routes or components that can expire silently, discard entered data, or block recovery after re-authentication. --- For full implementation details, code examples, and framework-specific guidance, see `references/rule.md`. Rule page: https://frontendchecklist.io/en/rules/accessibility/session-timeout-recovery