Accessibility refers to the extent to which a product or service can be used by as many people as possible. In this context, accessibility means designing applications so that people with disabilities or impairments can use the applications on a BlackBerry device.
When you design your app, consider the following users:
- blind people
- visually impaired people
- colorblind people
- deaf people
- hearing impaired people
- speech impaired people
- people with motor impairments
- people with cognitive or learning disabilities
Like any other group of users, people with disabilities or impairments have needs, wants, and expectations about the behavior of apps. Here are some of the reasons to make your apps accessible to as many users as possible:
- Social responsibility: Making it easier for people with disabilities or impairments to benefit from the functionality that your app provides can promote equality.
- Market share: Ensuring that your app can be used by people with disabilities or impairments increases the number of people who can purchase and benefit from it.
- Compliance: Certain markets require that you address guidelines and regulatory requirements (such as Section 508 of the Rehabilitation Act in the United States).
An accessible application is one that can be used effectively by people with disabilities or impairments. Making your app accessible involves the following activities:
- Designing your app's UI with all of your users in mind, including people with disabilities or impairments.
- Providing information about your app to assistive technologies such as screen readers. For example, an accessible app might provide information about a text field that is displayed on a screen to a screen reader. The screen reader can convert the text to audio.
RIM provides best practices to follow when designing an accessible app's UI, as well as an Accessibility API that helps you provide information to assistive technologies.
An assistive technology device or assistive technology application can respond to the information that it receives from an accessible application and can render the application usable by people with disabilities or impairments. One example of an assistive technology application is a screen reader. A screen reader can receive information about the items that the BlackBerry device screen displays and the actions that occur. The screen reader can re-present the display or action to the user, such as through audio output or braille.
Some examples of assistive technology devices are screen magnifiers and keyboards designed for use by people with motor impairments.
Support for accessibility on BlackBerry devices
A BlackBerry device can include the following features to facilitate its use by people with disabilities or impairments:
- visual, audible, and vibration alerts and notifications
- hearing aid compatibility (on some models)
- assignable ring tones to identify callers
- customizable fonts and themes
- browser zoom
- reverse contrast and grayscale display settings
- AutoText word substitution
- SureType technology with predictive text
- SurePress touch screen
For more information about accessibility on BlackBerry devices, visit www.blackberry.com/accessibility.
Best practice: Designing accessible applications
Guidelines for UI design
- Stay focused on users' immediate task. Display only the information that users need at any one moment. For example, simplify data selection and presentation by displaying information in a logical order.
- Group components according to common usage or common functionality.
- Provide enough space between components so that users can distinguish one control from another.
- Use UI components consistently so that users can recognize common UI components easily. For example, use buttons to initiate actions. Avoid using other components, such as hyperlinks, to initiate actions.
- If you are designing an application that supports an assistive technology device, such as a screen reader, and you do not use BlackBerry UI APIs or support the Accessibility API, expose the unique UI components in your application programmatically so that assistive technology can interpret the information.
Guidelines for navigation
- Indicate clearly the UI component that has focus.
- Where possible, allow users to use the keyboard to initiate the most frequently used actions in the application. For example, allow users to press the Enter key to select a menu item.
- Where possible, inform users of important events, such as calendar reminders, in multiple ways. For example, provide a sound effect and a visual notification for the reminder.
- Where possible, apply redundancy to provide users with multiple ways to interact with common actions. For example, use the Menu key to allow users to access the full menu and a trackpad or touch screen to allow users to access the pop-up menu.
- In each menu, set the default menu item as the item that users are most likely to select. The default item in the pop-up menu should be the same as the default item in the full menu.
- If a process or application requires users to complete a series of lengthy or complex steps, list all the steps or screens where possible. Identify the steps that are complete, in progress, and not yet started. For example, include a table of contents in wizards. If users close a wizard, they can use the table of contents to return to a specific location in the wizard.
Guidelines for text
- Provide specific messages. To support error recovery, use one short sentence that states clearly the reason for displaying the message and the actions that can dismiss it.
- Where possible, inherit the font settings that the user has set.
Guidelines for color and images
- Avoid using color as the only means of communication. For example, instead of using only red text to notify users of a critical action, consider placing a red symbol, such as a red exclamation mark, beside the text instead.
- Choose colors that have high contrast, such as black, white, navy blue, and yellow.
- To help users to distinguish between adjacent UI components (such as alternating messages in an SMS text message thread) and to distinguish between background and foreground colors, use colors that result in a contrast ratio of 7:1 or higher.
- Add contextual information to images, such as the image name, to communicate the meaning and context of the images.