- Success Criterion 3.3.4
- Conformance level AA
Timeout That Auto-Submits and Commits a Final Transaction
3.3.4 — Error Prevention (Legal, Financial, Data)
Scenario
Setting
An online spreadsheet's toolbar
What’s wrong
Auto-submitting final steps on timeout (compound with 2.2.1) committing the transaction.
Example
// pendingInvoice is queued when the toolbar's 'Send Invoice' button is clicked, then held for one final review
function onSessionTimeout() {
if (pendingInvoice) {
sendInvoice(pendingInvoice); // auto-submits and finalizes the transaction just because the session timed out
}
} Why it matters
A freelancer who clicks the toolbar's Send Invoice button, then steps away mid-review, finds their unfinished invoice already sent and finalized by the time they return.
How to test
Let a timed step expire: if it auto-submits and commits the transaction rather than warning first, it fails (also relevant to 2.2.1).
How to fix
A timeout should pause or discard a pending action, never complete something binding on the user's behalf.
// pendingInvoice is still queued from the toolbar's 'Send Invoice' button
function onSessionTimeout() {
if (pendingInvoice) {
discardDraft(pendingInvoice); // saved as a draft instead, never auto-committed
notifyUser('Your session timed out. The invoice was saved as a draft, not sent.');
}
} Outcome
The freelancer returns from the interruption to find a saved draft, not a sent invoice, and finishes reviewing it.
Who is affected
People who need more time to read and review, including users with cognitive disabilities and screen reader users working at a slower pace.
Learn more
- Understanding Understanding document (opens in a new tab)
Related scenarios
- Binding Purchase Submitted With No Review Step Beforehand
- One-Click Order Placed With No Chance to Review It First
- Permanent Data Deletion With No Confirmation or Undo
- Legal Commitment Submitted With No Review-and-Confirm Step
- Review Page That Isn’t Actually Editable Before Final Submission
- Financial Transfer Form That Never Confirms the Entered Details