Understandable
Information and the operation of the user interface must be understandable.
Guideline 3.1 Readable
Make text content readable and understandable.
What should the tester do?
Make sure that the default language of the app can be programmatically determined.
How?
Use the app with a screen reader and check the captions if there are some in the app. Change the language of the app (if applicable) and then test it with that language.
What to report?
Any inconsistencies and strange behavior you encounter.
Guideline 3.2 Predictable
Make applications appear and operate in predictable ways.
What should the tester do?
Make sure that:
- while navigating the app with switch access or screen reader, when an element receives focus, it doesn’t initiate a change of context (e.g. a new screen will not be opened until the user confirms the action);
- when the user is changing the setting of any UI element (e.g. selecting a radio button) or adds any input into input fields, no sudden changes of context will happen (e.g. it is OK if selecting one button will open a few additional options on the same screen – it’s not OK to send a user on a whole new screen with no explanation/warning because it can cause confusion and disorientation to users with visual or cognitive impairments;
- the navigation throughout the app is consistent – e.g. if every screen has a search bar, it is located in the same place, bottom navigation or side navigation is clear and doesn’t change suddenly and similar;
- the identification of elements is consistent – the same icons have the same meaning anywhere in the app. Also, if the same element is shown on multiple screens, it has the same accessibility label.
How?
Exploratory testing/Screen readers/Switch Access
What to report?
- if an element that receives focus is being activated solely by it
- any sudden changes of context in the app that might confuse the users
- any navigation or identification inconsistencies
Guideline 3.3 Input Assistance
Help users avoid and correct mistakes.
What should the tester do?
In the app, when the user is required to enter any input in order to do some action, check that:
- All detected errors are clearly communicated to the user – with text. Color, images, etc., can be used and are welcomed, but text is a must.
- All input fields have clear labels and instructions if needed to help user success (e.g. a phone number field is marked with an asterisk if it’s mandatory; it has a clear label stating that it’s a phone number field; a placeholder in it is clearly stating the expected format; the numerical keyboard is shown to the user to emphasize the fact that it accepts numbers only, etc.)
- If the user makes a mistake, the app will suggest a way to fix it (“Please, enter a valid phone number”, “Please, enter a date that is not in the future”).
- After the user finishes entering the data, especially if it’s a sensitive one (e.g. making a purchase, applying for a loan) give them the opportunity to double-check the data entered. For example, when an order is submitted, the order information – including items ordered, the quantity of each ordered item, shipping address, and payment method – is displayed so that the user can inspect the order for correctness. The user can either confirm the order or make changes.
How?
Exploratory testing/Screen reader/Switch Access
What to report?
Any breaches of the rules above, e.g.:
- the field with the error in it is marked with color only
- the error message is ambiguous or not displayed at all
- fields are missing clear labels
- users don’t get any error-fixing suggestions
- users don’t get a chance to review entered information in sensitive actions