Bug 85: Form Auto-Submit + No Undo (Chaos: F12 + F36)

WCAG 2.2.1 (Timing) + 3.4.4 (Error Prevention) | Multiple risky patterns combined.

Failure F12: Auto-Submit on Change (No Confirm)

Account Settings (Auto-Saves on Change)

⚠️ RISK: If user accidentally clicks dropdown or swipes with assistive tech, form submits immediately without confirmation.

Issues:

  • Form submits immediately on selection change
  • No confirmation dialog ("Are you sure?")
  • No warning that action is imminent
  • Users with motor impairments may accidentally trigger
  • Screen reader users may not realize form submitted
Failure F36: No Undo Mechanism

Preferences (No Undo)

⚠️ CRITICAL RISK: If user accidentally selects "Never (Unsubscribe)", they're immediately unsubscribed with no undo option.

Issues:

  • Change is permanent immediately
  • No confirmation ("Are you sure you want to unsubscribe?")
  • No undo button or "Revert" option
  • No toast notification confirming change
  • Users may not realize they've made a mistake
CHAOS: Delete Action with Auto-Submit + No Confirm

Manage Items

⚠️ EXTREME RISK: Checking "Delete" box immediately deletes item with zero confirmation.

Issues:

  • Destructive action (delete) via checkbox, not button
  • No confirmation dialog
  • No separate "Confirm Delete" button
  • No undo option
  • No warning about consequence
  • Screen reader users especially vulnerable (announces checkbox, not severity)
Failure F12: Auto-Submit on Blur (Lose Focus)

Quick Edit Form

Issues:

  • Each field submits form independently
  • User might be mid-edit when focus shifts
  • Tab key moves to next field, triggering blur
  • Multiple unexpected form submissions
  • No confirmation on each save
Better Approaches (For Reference)
<!-- BETTER: Explicit action with confirmation --> <form> <div class="form-group"> <label for="freq1">Email Frequency</label> <select id="freq1"> <option value="daily">Daily</option> <option value="weekly">Weekly</option> <option value="never">Unsubscribe</option> </select> </div> <!-- User must explicitly click Save --> <button type="submit">Save Changes</button> </form> <!-- Confirmation for destructive actions --> <form onsubmit="return confirm('Unsubscribe from emails?')"> ... </form> <!-- Show undo after action --> <div role="status" aria-live="polite"> Unsubscribed. <a href="#">Undo</a> </div>
HAL Fixes: HAL removes auto-submit on change. HAL adds explicit Save button. For destructive actions, HAL adds confirmation dialog. HAL shows toast/status message confirming action. HAL implements undo option with aria-live announcement. HAL removes onchange/onblur submit handlers.