Error Messages
System Errors
System errors occur when something goes wrong within the system itself. For example, a server might be down, or there could be a bug in the code. When writing system error messages:
- Be clear and concise. Explain what happened in plain language. Avoid technical jargon and don’t reproduce errors from code.
- Apologize for the inconvenience.. Take responsibility for the issue and assure the user that they are not at fault.
- Offer solutions and next steps. Suggest any actions the user can take, or provide links to documentation when possible. For example, 404 (not found) pages should provide links to useful locations. Alternatively, let users know if there is nothing to be done on their end.
- Provide contact information. Allow the user to get additional help in resolving the issue.
User Errors
User errors occur when the user does something that the system can’t handle or when user input doesn’t meet certain criteria, such as when the user enters an incorrect password or leaves a mandatory field blank. When writing user error messages:
- Be specific and provide guidance. Clearly explain what happened, where the error occurred, and how it can be resolved.
- Use plain language. Ensure that the error message is easy to understand. Avoid using system language or error codes.
- Consider the user’s perspective. Use words that match the user’s context, not the system’s context. For example, instead of “The address field is required to submit the form”, say “Enter an address before placing your order”.
- Be polite and patient. Avoid sounding like you are blaming the user for the error.
In addition to these specific points, the following guidelines apply to both types of errors:
- Avoid negative language. Words such as “error”, “failed”, “danger”, “forbidden”, “invalid”, “fatal”, “bad”, “wrong”, etc. can make users feel they have made a mistake. Instead, use neutral language.
- Be professional. Avoid messages like “Oops, something went wrong.” They are unhelpful and the overly casual tone undermines our credibility as a financial services provider.
- Use brevity and clarity. Keep error messages as short as possible. Include additional information only if it is essential in resolving the issue.
Success Messages
- Provide clear indications that a task has been completed successfully. However, if it is a routine task, there is no need to congratulate the user. It is fine in many situations to simply say that an action has been completed.
- If a task has many steps, provide people with a progress indicator, and clear instructions as to what steps are remaining.
- Avoid using language that suggests guaranteed success in steps that haven’t been completed yet. This can lead to frustration if the outcome doesn’t match the expectation. For example, “Congratulations, you are only a few minutes away from completing your application.”
Warnings
Warning messages, unlike error messages, appear before a user takes an action. They can indicate a significant change to a situation, or a condition where data may be lost.
Keep warning messages brief, but strong enough to assert the importance of the situation.
Example: “Deleting this file cannot be undone.”
If a user must make a choice based on a warning message, use imperative language when creating labels for Calls to Action (CTAs). For example, use words like “Save,” “Create,” or “Delete.” Avoid using vague terms such as “Done.”
Confirmations
Use confirmation statements in situations where users must confirm an action before they proceed. For example, when an action cannot be undone or may be difficult to undo.
For all confirmations, present users with two options: to accept or decline the action. Each message should refer to a single task.
Confirmation titles ask if a user wishes to continue with simple verb/noun phrasing. Keep the phrase as short as possible and use no more than one sentence.
Keep the confirmation body succinct, but provide information explaining what performing the action will do. Labels on secondary actions (e.g. “Cancel”) should be self-explanatory for what they will accomplish.
Example:
- Title: “Payment Submitted”
- Body: “A payment for the amount of [x] will be applied to your bill. Please confirm, or cancel. This cannot be undone ”
- Button: “Confirm Payment”
- Secondary Button: “Cancel”
When confirming an action that will delete data, always use the words “Delete” and “Cancel” for the two options. Do not vary from this language.