1## 3.10\. Accessibility
2
3Android provides an accessibility layer that helps users with disabilities to
4navigate their devices more easily. In addition, Android provides platform APIs
5that enable accessibility service implementations to receive callbacks for user
6and system events and generate alternate feedback mechanisms, such as
7text-to-speech, haptic feedback, and trackball/d-pad navigation.
8
9If 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-4] MUST add a button in the system's navigation bar allowing the user
20    to control the accessibility service when the enabled accessibility services
21    declare the [`AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON`](
22    https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo.html#FLAG%5FREQUEST%5FACCESSIBILITY%5FBUTTON)
23    . Note that for device implementations with no system navigation bar, this
24    requirement is not applicable, but device implementations SHOULD provide a
25    user affordance to control these accessibility services.
26
27
28If device implementations include preinstalled accessibility services, they:
29
30*   [C-2-1] MUST implement these preinstalled accessibility services as [Direct Boot Aware](
31    https://developer.android.com/reference/android/content/pm/ComponentInfo.html#directBootAware)
32    apps when the data storage is encrypted with File Based Encryption (FBE).
33*   SHOULD provide a mechanism in the out-of-box setup flow for users to enable
34    relevant accessibility services, as well as options to adjust the font size,
35    display size and magnification gestures.
36