Improve the overall accessibility of your mobile applications with the mobile accessibility tester rules and test coverage. These rules ensure that UI elements have appropriate labels, descriptions, and structures.
Scans through Live App Testing or the Mobile SDKs use Access Engine rules. Scans using On-device testing through Level Access Desktop use Mobile Engine rules.
On this page:
- Mobile accessibility rules available through Access Engine
- Mobile accessibility rules available through Mobile Engine
Mobile accessibility rules available through Access Engine
Here is a categorized list of accessibility checks we perform on iOS and Android applications when using Live App Testing or our mobile SDKs.
Access Engine: missing labels and content descriptions
These rules check whether UI elements provide appropriate text alternatives for assistive technologies like screen readers.
| Issue | Success Criteria | Platform |
| One or more Picker elements does not have an accessible label. |
1.3.1 4.1.2 |
iOS |
| One or more Spinner elements does not have a content description. |
1.3.1 4.1.2 |
Android |
| One or more Button elements does not have an accessible label. |
1.3.1 4.1.2 |
iOS |
| One or more SecureTextField elements does not have an accessible label. |
1.3.1 4.1.2 |
iOS |
| One or more SearchField elements does not have an accessible label. |
1.3.1 4.1.2 |
iOS |
| One or more Switch elements does not have an accessible label. |
1.3.1 4.1.2 |
iOS |
| One or more Alert, ScrollView, TextField, or TextView elements does not have an accessible label. |
1.3.1 4.1.2 |
iOS |
| One or more Slider elements does not have an accessible label. |
1.3.1 4.1.2 |
iOS |
| One or more Image elements does not have an accessible label. |
1.3.1 4.1.2 |
iOS |
| One or more EditText elements does not have hint or default text. |
1.3.1 4.1.2 |
Android |
| One or more ImageButton elements does not have a content description. |
1.3.1 4.1.2 |
Android |
| One or more CheckBox or ToggleButton elements is neither checked nor unchecked. | 4.1.2 | Android |
| One or more RadioGroup elements does not have a content description. |
1.3.1 4.1.2 |
Android |
| One or more Button elements does not have text or a content description. |
1.3.1 4.1.2 |
Android |
| One or more VideoView elements does not have a content description. |
1.3.1 4.1.2 |
Android |
| One or more RadioButton elements is neither checked nor unchecked. | 4.1.2 | Android |
| One or more SearchView elements does not have a content description. |
1.3.1 4.1.2 |
Android |
| One or more CheckBox elements does not have text or a content description. |
1.3.1 4.1.2 |
Android |
| One or more RadioButton elements does not have text or a content description. |
1.3.1 4.1.2 |
Android |
| One or more DatePicker elements does not have a content description. |
1.3.1 4.1.2 |
Android |
| One or more TimePicker elements does not have a content description. |
1.3.1 4.1.2 |
Android |
| One or more ImageView elements does not have a content description. |
1.3.1 4.1.2 |
Android |
Access Engine: form controls and interactive elements
These rules ensure that input elements and controls provide clear, accessible states.
| Issue | Success criteria | Plaftorm |
| One or more Button, CheckBox, DatePicker, EditText, ImageView, RadioButton, RadioGroup, SearchView, Switch, ToggleButton elements are missing a required property. | 2.1.1 | Android |
| One or more RadioButton elements is not an immediate child of a RadioGroup element. | 1.3.1 | Android |
| One or more ListView elements is focusable. | 2.1.1 | Android |
| One or more UINavigationBar elements does not contain text. | 2.4.2 | iOS |
| One or more Button, Switch, TextField, SecureTextField, SearchField, TextView, or Slider elements is less than 6 points away from (and may be overlapping) another element. | 2.5.8 | iOS |
| One or more Button, Switch, TextField, SecureTextField, SearchField, TextView, or Slider elements is less than 44 points in height. | 2.5.5 | iOS |
Access Engine: device orientation restrictions
If an application restricts screen orientation, it may impact accessibility for users who rely on specific layouts.
| Issue | Success criteria | Platform |
| This application is locked from changing its orientation. | 1.3.4 | Android |
| This application, or the device it was tested on, is locked from changing its orientation. | 1.3.4 | iOS |
Mobile accessibility rules available through Mobile Engine
Here is a categorized list of accessibility checks we perform on iOS and Android applications when using On-device testing through Level Access Desktop. Level Access's Mobile Engine is a native-first testing engine with a comprehensive recommendation library for the following languages and frameworks: Android, Jetpack Compose, iOS, SwiftUI, Flutter, React Native, .NET MAUI (Android and iOS), and Xamarin.
Mobile Engine: missing labels and content descriptions
These rules check whether UI elements provide appropriate text alternatives for assistive technologies like screen readers.
| Issue | Success Criteria | Platform |
| Elements contain inaccessible content that need to be exposed as separate accessibility children. | 1.3.1 | iOS |
| Element description is not sufficient. |
1.3.1 4.1.2 |
iOS |
| Accessibility object has not implemented all properties and methods. | 4.1.2 | iOS |
| Class name is not set in the AccessibilityNodeInfo. | 4.1.2 | Android |
| Links are not displayed using a ClickableSpan. | 2.4.4 | Android |
| Multiple elements have the same label. |
1.3.1 2.4.6 |
Android |
| Content description has been set for editable views. |
1.3.1 4.1.2 |
Android |
| Link purpose is unclear. | 2.4.4 | Android |
| Description is redundant. | 4.1.2 | Android |
| Speakable text is not present. | 4.1.2 | Android |
| Text is not exposed to accessibility services. |
1.3.1 4.2.1 |
Android |
Mobile Engine: form controls and interactive elements
These rules ensure that input elements and controls provide clear, accessible states.
| Issue | Success criteria | Plaftorm |
| Target size does not have a minimum set - 24 by 24 points. | 2.5.8 | Android, iOS |
| Target size does not have a minimum set - 44 by 44 points. | 2.5.5 | Android, iOS |
| Contrast is not sufficient. | 1.4.3 | iOS |
| Text does not support dynamic type. | 1.4.4 | iOS |
| The size of elements are too small. |
2.5.5 2.5.8 |
iOS |
| Text label is clipped. | 1.4.4 | iOS |
| There are duplicate clickable bounds. | 1.3.1 | Android |
| Image contrast is not sufficient. | 1.4.3 | Android |
| Text contrast is not sufficient. | 1.4.3 | Android |
| Text size does not sufficiently scale. | 1.4.4 | Android |
| Touch target size does not meet minimum standard. |
2.5.5 2.5.8 |
Android |
| Traversal order is logical. | 1.3.2 | Android |
Mobile Engine: device orientation restrictions
If an application restricts screen orientation, it may impact accessibility for users who rely on specific layouts.
| Issue | Success criteria | Platform |
| Content cannot be viewed in portrait orientation. | 1.3.4 | Android, iOS |
| Content cannot be viewed in landscape orientation. | 1.3.4 | Android, iOS |
Comments
0 comments
Article is closed for comments.