Android SDK Accessibility Features, Page 2
#5: Support Alternative Input Methods
Some Android devices have directional controllers like directional-pads, trackballs, and arrow keys. These types of devices are often favored by those with visual impairments, as they allow the user to systematically navigate a screen of components. Ensure your applications provide support for these input methods as well as simple touchscreens. Special attention must be given to the order in which View controls within a layout gain focus. You can override the focus order of View controls within a layout using the android:nextFocus* attributes.
#6: Implementing Custom Views? Make Sure They Send Appropriate Accessibility Events
There are a number of system services operating on the Android platform to keep it running smoothly. One such service is the accessibility service. When a built-in View control like a Button control is clicked, it tells the accessibility service "I've been clicked!" When you implement custom View controls, it is your responsibility to send appropriate events to the accessibility service. To do this, your custom View control must implement the AccessibilityEventSource interface (android.view.Accessibility.AccessibilityEventSource) and fire off AccessibilityEvent events (android.view.Accessibility.AccessibilityEvent).
#7: Using Your Own Accessibility Technology?
If you have your own accessibility technology, you'll want to hook into accessibility events. This can be done by implementing your own AccessibilityService (android.accessibilityservice.AccessibilityService), an Android Service class that receives calls when AccessibilityEvent actions are triggered. This service receives calls for a variety of different events useful in providing some sort of accessibility augmentation. Some of these events include the user clicking on a View object, changing focus on an control, or the text on an object changing--the same sorts of events you must make sure to implement when making your own controls.
The accessibility features of the Android SDK are robust, lightweight and easy to use; there's little reason not to use them. Not considering accessibility at application design time limits your potential user base and alienates certain groups of users needlessly. The depth to which your specific application supports accessibility features depends on the intended audience and specific project goals. However, all applications can greatly improve their accessibility with just a few simple updates.
About the Authors
|Shane Conder and Lauren Darcey --Contributing Editors, Mobile Development --have coauthored two books on Android development: an in-depth programming book entitled Android Wireless Application Development (ISBN-13: 978-0-321-62709-4) and Sams Teach Yourself Android Application Development in 24 Hours (ISBN-13: 978-0-321-67335-0). When not writing, they spend their time developing mobile software at their company and providing consulting services.|