• Success Criterion 3.3.4
  • Conformance level AA

Permanent Data Deletion With No Confirmation or Undo

3.3.4 — Error Prevention (Legal, Financial, Data)

Scenario

Setting

A grocery delivery app's shopping cart

What’s wrong

Deleting user-controllable data permanently with no confirmation and no recovery.

Example

function clearCart() {
  cart.items = []; // wipes the saved cart instantly, no confirmation, no recovery
  saveCart(cart);
}

Why it matters

A shopper who taps 'Clear cart' by mistake loses 30 items they'd carefully picked for the week, with no way to restore them.

How to test

Delete user-controllable data: if there's no confirmation prompt and no way to recover afterward, it fails.

How to fix

State the item count in the confirmation and require an explicit yes before an irreversible wipe.

function clearCart() {
  showConfirmDialog({
    message: 'Remove all 30 items from your cart? This cannot be undone.',
    onConfirm: () => { cart.items = []; saveCart(cart); }
  });
}

Outcome

A shopper who taps the wrong button catches the confirmation and keeps their full cart.

Who is affected

People with motor disabilities who may mis-tap a small clear-cart control, and anyone who acts before fully reading the button label.

Learn more