Definition for WCAG 2.0 success criterion 3.3.4
3.3.4 Error Prevention (Legal, Financial, Data): For Web pages that cause legal commitments or financial transactions for the user to occur, that modify or delete user-controllable data in data storage systems, or that submit user test responses, at least one of the following is true:
- Reversible: Submissions are reversible.
- Checked: Data entered by the user is checked for input errors and the user is provided an opportunity to correct them.
- Confirmed: A mechanism is available for reviewing, confirming, and correcting information before finalizing the submission.
The intent of this Success Criterion is to help users with disabilities avoid serious consequences as the result of a mistake when performing an action that cannot be reversed. For example, purchasing non-refundable airline tickets or submitting an order to purchase stock in a brokerage account are financial transactions with serious consequences. If a user has made a mistake on the date of air travel, he or she could end up with a ticket for the wrong day that cannot be exchanged. If the user made a mistake on the number of stock shares to be purchased, he or she could end up purchasing more stock than intended. Both of these types of mistakes involve transactions that take place immediately and cannot be altered afterwards, and can be very costly. Likewise, it may be an unrecoverable error if users unintentionally modify or delete data stored in a database that they later need to access, such as their entire travel profile in a travel services website. When referring to modification or deletion of 'user controllable' data, the intent is to prevent mass loss of data such as deleting a file or record. It is not the intent to require a confirmation for each save command or the simple creation or editing of documents, records or other data.
Users with disabilities may be more likely to make mistakes. People with reading disabilities may transpose numbers and letters, and those with motor disabilities may hit keys by mistake. Providing the ability to reverse actions allows users to correct a mistake that could result in serious consequences. Providing the ability to review and correct information gives the user an opportunity to detect a mistake before taking an action that has serious consequences.
User-controllable data is user-viewable data that the user can change and/or delete through an intentional action. Examples of the user controlling such data would be updating the phone number and address for the user's account, or deleting a record of past invoices from a website. It does not refer such things as Internet logs and search engine monitoring data that the user can't view or interact with directly.
The mechanism by which a submission is reversible can take many forms. For instance, after an order has been submitted to a shopping site, there may be an official "grace period" during which users can cancel the order, and the order only gets processed after this.
One of the mechanisms to pass this criterion is to ensure that data entered by the user is checked for errors and that the user is given the opportunity to make corrections. Generally, this would be form validation which happens either client-side as the user is entering data, or server-side, with the page/form being reloaded to allow users to make corrections. In both cases, this success criterion is only concerned with whether or not users are given a chance to correct errors, and not whether or not errors are indicated or suggestions indicated. Those aspects are covered in the separate success criteria 3.3.1 Error identification (level A) and 3.3.3 Error suggestions (level AA).
Note: in the case of multi-page/multi-step forms that all form part of a process that can cause legal commitments or financial transactions to occur, modify or delete user-controllable data in a data storage system, or submits user test responses, each sample/page in the process needs to be evaluated against this criterion (i.e. it is not simply the last page/step that this applies to). For example, if you are testing a 5-step checkout process which, as the last step, provides the user a summary to confirm before finalizing the submission, all pages/steps (all separate samples tested as part of that process) are marked as pass.
Note: if the page (or, in the case of multi-page/multi-step forms, the entire process) does not cause legal commitments or financial transactions to occur, modify or delete user-controllable data in a data storage system, or submits user test responses (e.g. an exam or aptitude test), this criterion is marked as not applicable.
Note: to pass, one or more of the following tests need to pass.
Testing success criterion 3.3.4
Input into spreadsheet
- ❌ Fail
- Users are not given the opportunity to correct input errors.
- ✔ Pass
- Users are given the opportunity to correct input errors.
- N/A
- The sample does not contain any components that require specific user input.
How to test
This test verifies if data entered is checked for errors and the user is provided an opportunity to correct them before final submission.
- For all components in the page that accept user input, enter deliberately wrong values.
- If the components are part of a form that needs to be submitted, submit the form.
- Verify if the user is given an opportunity to correct input errors (e.g. the form is reloaded, and the user can correct erroneous entries).
Note: for this criterion, it is not important how erroneous inputs/entries are identified - only that the user is given a chance to rectify errors. For instance, if incorrect entries are only identified through color, this would pass this particular success criterion, even though it will fail others like 1.4.1 Use of color (level A).
Input into spreadsheet
- ❌ Fail
- There is no mechanism to reverse the submission.
- ✔ Pass
- A mechanism is available to reverse the submission.
- N/A
- The sample does not contain any components that require specific user input.
How to test
This test verifies if submissions are reversible after submission.
- Complete the form on the current page (and, in the case of multi-page/multi-step processes, complete all other pages/steps).
- Verify if, after submission, a mechanism is available to reverse the submission (for instance, to cancel a transaction/order).
Input into spreadsheet
- ❌ Fail
- There is no confirmation step in the process.
- ✔ Pass
- There is a confirmation step in the process.
- N/A
- The sample does not contain any components that require specific user input.
How to test
This test verifies if submissions must be confirmed before final submission.
- Complete the form on the current page (and, in the case of multi-page/multi-step processes, complete all other pages/steps).
- Verify that, before the final step, a mechanism is available for reviewing, confirming, and correcting information (for instance, a summary page showing all data entered and an option to go "back" to the preceding step(s)).