Home | History | Annotate | Download | only in 3_software
      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