You can help meet the needs of a diverse group of users by designing applications that people with disabilities or impairments can use. In some cases, you might want to address specific accessibility needs of people with disabilities or impairments. For example, you might want to develop an application that supports assistive technology, such as a screen reader. In other cases, you might want to develop an application that can reach the widest possible audience. In this case, following the best practices for designing accessible applications can benefit a broad range of users, including the typical users of your application.
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 to minimize the cognitive load for users.
- 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. For example, use white text on a blue background.
- 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.