Google’s Android 4.0 Compatibility Requirements Mandating that Accessibility and TTS be Kept Intact
Android 4.0.3 is the release of the development milestone code-named Ice Cream Sandwich. Android 4.0.3 is the current version of Android. Source code for Android 4.0.3 is found in the ‘android-4.0.3_r1′ branch in the open-source tree.
Android 4.0 provides an accessibility layer that helps users with disabilities to navigate their devices more easily. In addition, Android 4.0 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. Device implementations MUST provide an implementation of the Android accessibility framework consistent with the default Android implementation. Specifically, device implementations MUST meet the following requirements.
- Device implementations MUST support third party accessibility service implementations through the android.accessibilityservice APIs.
- Device implementations MUST generate AccessibilityEvents and deliver these events to all registered AccessibilityService implementations in a manner consistent with the default Android implementation.
- Device implementations MUST provide a user-accessible mechanism to enable and disable accessibility services, and MUST display this interface in response to the android.provider.Settings.ACTION_ACCESSIBILITY_SETTINGS intent.
Additionally, device implementations SHOULD provide an implementation of an accessibility service on the device, and SHOULD provide a mechanism for users to enable the accessibility service during device setup. An open source implementation of an accessibility service is available from the Eyes Free project.
Android 4.0 includes APIs that allow applications to make use of text-to-speech (TTS) services, and allows service providers to provide implementations of TTS services. Device implementations MUST meet these requirements related to the Android TTS framework:
- Device implementations MUST support the Android TTS framework APIs and should include a TTS engine supporting the languages available on the device. Note that the upstream Android open source software includes a full-featured TTS engine implementation.
- Device implementations MUST support installation of third-party TTS engines.
- Device implementations MUST provide a user-accessible interface that allows users to select a TTS engine for use at the system level.