This success criteria states that website owners must provide ways for users to confirm, correct, or reverse important submissions.
This document provides information about the Acquia Optimize check: Error Prevention for Legal, Financial, and Data Transactions.
For web pages that involve legal agreements, financial transactions, user-controlled data changes, or test submissions, there must be safeguards in place to prevent users from making irreversible mistakes.
At least one of the following must be true:
These safeguards prevent accidental errors that can lead to financial loss, legal issues, or loss of critical data.
This section provides information about why this criteria is important and provides some examples.
Without error prevention mechanisms, users might:
Users with cognitive disabilities can find complex forms and transactions difficult. Give users a chance to review and confirm transaction details to ensure accessibility and usability.
This section provides some pass and fail examples for this criteria.
Provide a way for users to undo a submission
Implementation: A cancellation window for financial transactions.
<p>Your payment has been submitted. You have 30 minutes to cancel this transaction.</p>
<button onclick="cancelTransaction()">Cancel Payment</button>
Provide a review and confirmation step before final submission
Implementation: A review page before the user submits a loan application.
<h2>Review Your Application</h2>
<p>Please check your details before submitting:</p>
<ul>
<li>Name: John Doe</li>
<li>Email: [email protected]</li>
<li>Loan Amount: $10,000</li>
</ul>
<button onclick="goBack()">Edit Information</button>
<button onclick="submitApplication()">Confirm and Submit</button>
Highlight errors before submission
Implementation: Validate the user input and provide clear error messages.
<form onsubmit="return validateForm()">
<label for="credit-card">Credit Card Number:</label>
<input type="text" id="credit-card" name="credit-card" required>
<span id="card-error" style="color: red;"></span>
<button type="submit">Submit Payment</button>
</form>
<script>
function validateForm() {
let cardNumber = document.getElementById("credit-card").value;
if (cardNumber.length !== 16) {
document.getElementById("card-error").innerText = "Credit card number must be 16 digits.";
return false;
}
return true;
}
</script>
No option to cancel a financial transaction
Problem: A user accidentally sends money with no way to undo it.
<p>Your payment has been processed.</p>
No review step before a legal agreement
Problem: Clicking Agree immediately submits a legally binding contract.
<input type="checkbox" id="agree"> I agree to the terms
<button type="submit">Submit</button>
No validation for critical input fields
Problem: A form allows submission with incomplete or incorrect data.
<form>
<label for="email">Email:</label>
<input type="text" id="email" name="email">
<button type="submit">Submit</button>
</form>
This section provides instructions on how to review and fix the issue.
Determine if the page includes legal, financial, or user-controlled data transactions.
This section provides some ways to correct the issue.
Allow users to cancel transactions within a time window
Provide a review step before submission
Validate user input and display errors before submission
Use ARIA live regions for error messages
<div role="alert" aria-live="assertive">
Error: Please enter a valid phone number.
</div>
If this content did not answer your questions, try searching or contacting our support team for further assistance.
Fri Mar 21 2025 10:32:41 GMT+0000 (Coordinated Universal Time)