1 ## 3.10\. Accessibility 2 3 Android provides an accessibility layer that helps users with disabilities to 4 navigate their devices more easily. In addition, Android provides platform APIs 5 that enable accessibility service implementations to receive callbacks for user 6 and system events and generate alternate feedback mechanisms, such as 7 text-to-speech, haptic feedback, and trackball/d-pad navigation. 8 9 If device implementations support third-party accessibility services, they: 10 11 * [C-1-1] MUST provide an implementation of the Android accessibility 12 framework as described in the [accessibility APIs]( 13 http://developer.android.com/reference/android/view/accessibility/package-summary.html) 14 SDK documentation. 15 * [C-1-2] MUST generate accessibility events and deliver the appropriate 16 `AccessibilityEvent` to all registered [`AccessibilityService`]( 17 http://developer.android.com/reference/android/accessibilityservice/AccessibilityService.html) 18 implementations as documented in the SDK. 19 * [C-1-3] MUST honor the `android.settings.ACCESSIBILITY_SETTINGS` intent to 20 provide a user-accessible mechanism to enable and disable the third-party 21 accessibility services alongside the preloaded accessibility services. 22 * [C-1-4] MUST add a button in the system's navigation bar allowing the user 23 to control the accessibility service when the enabled accessibility services 24 declare the [`AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON`]( 25 https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo.html#FLAG%5FREQUEST%5FACCESSIBILITY%5FBUTTON) 26 . Note that for device implementations with no system navigation bar, this 27 requirement is not applicable, but device implementations SHOULD provide a 28 user affordance to control these accessibility services. 29 30 31 If device implementations include preloaded accessibility services, they: 32 33 * [C-2-1] MUST implement these preloaded accessibility services as [Direct Boot Aware]( 34 https://developer.android.com/reference/android/content/pm/ComponentInfo.html#directBootAware) 35 apps when the data storage is encrypted with File Based Encryption (FBE). 36 * SHOULD provide a mechanism in the out-of-box setup flow for users to enable 37 relevant accessibility services, as well as options to adjust the font size, 38 display size and magnification gestures. 39