Top Banner
v0. 1 Inclusive and Accessible Application Design June 21, 2012
27
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: V0.1 Inclusive and Accessible Application Design June 21, 2012.

v0.1

Inclusive and Accessible Application DesignJune 21, 2012

Page 2: V0.1 Inclusive and Accessible Application Design June 21, 2012.

2012 Research In Motion Limited

Understanding Accessibility

Page 3: V0.1 Inclusive and Accessible Application Design June 21, 2012.

© 2012 Research In Motion Limited

What does Accessibility Mean?

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

3Course Code

Page 4: V0.1 Inclusive and Accessible Application Design June 21, 2012.

© 2012 Research In Motion Limited

Who Uses Accessible Apps?

In your design, 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

4Course Code

Page 5: V0.1 Inclusive and Accessible Application Design June 21, 2012.

© 2012 Research In Motion Limited

Why Be Accessible?

Some of the reasons to make your applications accessible to as many users as possible include the following possible benefits:

• Social responsibility

• Market share

• Compliance

5Course Code

Page 6: V0.1 Inclusive and Accessible Application Design June 21, 2012.

© 2012 Research In Motion Limited

What is an Accessible Application?

An accessible application is one that can be used effectively by people with disabilities or impairments.

• Design your application's UI with all of your users in mind,

• Provide information about your application to assistive technologies such as screen readers

6Course Code

Page 7: V0.1 Inclusive and Accessible Application Design June 21, 2012.

© 2012 Research In Motion Limited

What is Assistive Technology?

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.

Some examples of assistive technology devices are screen magnifiers and keyboards designed for use by people with motor impairments.

7Course Code

Page 8: V0.1 Inclusive and Accessible Application Design June 21, 2012.

© 2012 Research In Motion Limited

BlackBerry and Accessibility A BlackBerry device may include the following features:

• Speakerphone

• 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

• SureType® technology with predictive text

• SurePress™ touch screen

8Course Code

Page 9: V0.1 Inclusive and Accessible Application Design June 21, 2012.

2012 Research In Motion Limited

Designing Accessible Applications

9Course Code

Page 10: V0.1 Inclusive and Accessible Application Design June 21, 2012.

© 2012 Research In Motion Limited

Designing Accessible Applications

When creating accessible and inclusive applications, it is important to keep in mind that some users might not approach use of your application the same way you envision.

To help ensure users have a positive experience, here are some recommended best practices for developers to follow.

10Course Code

Page 11: V0.1 Inclusive and Accessible Application Design June 21, 2012.

© 2012 Research In Motion Limited

Guidelines for User Interface Design

•Stay focused on users' immediate task

•Display only needed user information

•Group components according to common usage or common functionality

•Use UI components consistently

•Expose the unique UI components in your application

11Course Code

Page 12: V0.1 Inclusive and Accessible Application Design June 21, 2012.

© 2012 Research In Motion Limited

Guidelines for Navigation

•Indicate the focus UI component

•Allow use of keyboard for frequently used actions

•Inform users of important events in multiple ways

•Apply redundancy interactions

•Set default menu items for common requests

•List all of lengthy or complex steps

12Course Code

Page 13: V0.1 Inclusive and Accessible Application Design June 21, 2012.

© 2012 Research In Motion Limited

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.

13Course Code

Page 14: V0.1 Inclusive and Accessible Application Design June 21, 2012.

© 2012 Research In Motion Limited

Guidelines for Color and Images

•Avoid using color as the only means of communication

•Choose high contrast colors

•Use colors that result in a contrast ratio of 7:1 or higher

•Add contextual information to images

14Course Code

Page 15: V0.1 Inclusive and Accessible Application Design June 21, 2012.

2012 Research In Motion Limited

Using the Accessibility API

15Course Code

Page 16: V0.1 Inclusive and Accessible Application Design June 21, 2012.

© 2012 Research In Motion Limited

Accessibility API Concepts

16Course Code

Concept Description

Role

A role specifies the type of UI component. Roles include text fields, labels, screens, dialog boxes, lists, icons, radio buttons, tables, check boxes, and buttons.

State

A state specifies the current object state as a mask of flags. States include focusable, focused, checked, active, selected, and editable. Objects can have multiple states at a time, such as focusable and focused.

ContainerContainers are visual elements, such as screens, dialog boxes, lists, and menus, that contain children.

Table A table is a type of container that displays children in a tabular format.

Page 17: V0.1 Inclusive and Accessible Application Design June 21, 2012.

© 2012 Research In Motion Limited 17Course Code

Page 18: V0.1 Inclusive and Accessible Application Design June 21, 2012.

2012 Research In Motion Limited

Lab 1 - AccessibilityDemo Sample Application

18Course Code

Page 19: V0.1 Inclusive and Accessible Application Design June 21, 2012.

© 2012 Research In Motion Limited

AccessibilityDemo Sample Application

19Course Code

Project DescriptionCustomComponentsDemo

CustomComponentsDemo is the accessible application. The screen contains custom UI components that implement the AccessibleContext interface, and, if appropriate, the AccessibleText interface, the AccessibleTable interface, or the AccessibleValue interface.

The AccessibleContext interface provides information about the accessible object, such as its value and state, to the assistive technology application.

The UI components broadcast accessibility events, such as when focus is set on a component or when a component's value changes.

ScreenReaderDemo ScreenReaderDemo is the assistive technology application, a screen reader. The ScreenReader class is registered as an accessibility event listener and implements the AccessibleEventListener interface. ScreenReader receives the accessibilityevents that CustomComponentsDemo broadcasts.

For demonstration purposes, the screen reader outputs System.out.println() statements to handle the accessibility events.Download the AccessibilityDemo App - http://www.blackberry.com/go/accessibilitysample

Page 20: V0.1 Inclusive and Accessible Application Design June 21, 2012.

2012 Research In Motion Limited

Lab 2 – Notifying an Assistive Technology when the UI Changes

20Course Code

Page 21: V0.1 Inclusive and Accessible Application Design June 21, 2012.

© 2012 Research In Motion Limited

Creating Notifications of UI Changes• This lab will show you how to provide Assistive

Technology Applications:

• Information about a UI Change

• Information about Text Changes

• Information from Tables

• Access to Numeric Values

• Receive Notification of UI Events

Page 22: V0.1 Inclusive and Accessible Application Design June 21, 2012.

2012 Research In Motion Limited

Lab 3 - Testing an Accessible BlackBerry Device Application

22Course Code

Page 23: V0.1 Inclusive and Accessible Application Design June 21, 2012.

© 2012 Research In Motion Limited

Test an Accessible Application

Create a test screen reader and use it to test and debug your accessible application in BlackBerry® Java® Development Environment 4.6.1 or later or BlackBerry® Java® Plug-in for Eclipse® with BlackBerry Component Package 4.6.1 or later.

23Course Code

Page 24: V0.1 Inclusive and Accessible Application Design June 21, 2012.

2012 Research In Motion Limited

Resources

24Course Code

Page 25: V0.1 Inclusive and Accessible Application Design June 21, 2012.

© 2012 Research In Motion Limited

Related Resources

For more information about developing accessible applications, see the following resources:

• www.blackberry.com/accessibility

• BlackBerry Smartphones UI Guidelines

• Development guides for BlackBerry® Java® application development

• API reference for BlackBerry® Java® application development

Page 26: V0.1 Inclusive and Accessible Application Design June 21, 2012.

© 2012 Research In Motion Limited

Questions?

26Course Code

Page 27: V0.1 Inclusive and Accessible Application Design June 21, 2012.

© 2012 Research In Motion Limited

Legal Disclaimer© 2012 Research In Motion Limited. All rights reserved. BlackBerry®, RIM®, Research In Motion® and related trademarks, names and logos are the property of Research In Motion Limited and are registered and/or used in the U.S. and countries around the world. All other trademarks are the property of their respective owners. This documentation is provided "AS IS" and without condition, endorsement, guarantee, representation or warranty, or liability of any kind by Research In Motion Limited and its affiliated companies, all of which are expressly disclaimed to the maximum extent permitted by applicable law in your jurisdiction.

27Course Code

27