Timeout extension

A warning before time runs out, plus a simple way to ask for more time without losing work or being signed out.

give me more time before logoutstay signed in buttonthe site logged me out while I was filling the formwarn me before the session endsstop expiring while I am still workingI lost my whole booking because it timed outthe countdown on the checkout page is too fasttime out extention

See it

Live demo coming soon

What it is

A timeout extension is the warning and simple action that let someone keep working before a time limit expires. It matters when reading, typing, understanding instructions, or operating controls takes longer. WCAG 2.2.1 says that, for most time limits set by the content, users must be able to turn the limit off, adjust it across a range at least ten times the default, or receive at least 20 seconds to extend it with a simple action at least ten times.

Two places everyone has met this: the bank dialog counting down to 'You will be signed out in 60 seconds', and the ticket checkout holding your seats behind a visible clock. Use it for authenticated sessions, checkout holds, timed forms, and any workflow that will discard progress or change state after inactivity. Warn before expiry, state the remaining time plainly, move focus only when interruption is necessary, and make the primary action something direct like 'Stay signed in'. The extension must update the server-side expiry, not just restart a countdown drawn in the browser.

Gotcha: a warning that appears for five seconds is still a timeout barrier. Requiring a password, puzzle, or multi-step flow just to ask for more time may also defeat the simple-action requirement. Preserve entered data whenever possible, even after a security policy ends the session, so a slower user does not lose an hour of work.

Ask AI for it

Add an accessible session-timeout extension flow that meets WCAG 2.2.1 Timing Adjustable. Schedule the warning from the server's real expiry timestamp with window.setTimeout(), show at least 20 seconds remaining, and provide a prominent 'Stay signed in' button that calls the session refresh endpoint and replaces the expiry timestamp returned by the server, and allow at least ten extensions. Announce the warning with role='alertdialog' and aria-modal='true', give it an accessible name and description, move focus to the 'Stay signed in' button on open, contain Tab within the dialog while it is open, and return focus to the previously focused element on close. Bind Enter to 'Stay signed in' and Escape to a visible 'Dismiss' button that does not extend the session. Preserve unsaved form data if expiry still occurs. Test keyboard operation, screen reader announcement, background-tab timing, repeated extensions, network failure, and expiry in two simultaneous tabs.

You might have meant

focus managementscreen readerwcagerror identification

Go deeper