Android provides an accessibility layer that helps users with disabilities to navigate their devices more easily. In addition, Android provides platform APIs that enable accessibility service implementations to receive callbacks for user and system events and generate alternate feedback mechanisms, such as text-to-speech, haptic feedback, and trackball/d-pad navigation.
If device implementations support third-party accessibility services, they:
AccessibilityEvent
to all registered AccessibilityService
implementations as documented in the SDK.android.settings.ACCESSIBILITY_SETTINGS
intent to provide a user-accessible mechanism to enable and disable the third-party accessibility services alongside the preloaded accessibility services.AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON
. Note that for device implementations with no system navigation bar, this requirement is not applicable, but device implementations SHOULD provide a user affordance to control these accessibility services.If device implementations include preloaded accessibility services, they: