44
1 Testing Flash and Flex for Accessibility Rashmi Aghor SAS R&D (India) Pvt. Ltd.

Testing flash and flex for accessibility indic threads-q11

Embed Size (px)

DESCRIPTION

Session Presented at 2nd IndicThreads.com Conference On Software Quality held on 25-26 March 2011 in Pune, India. WEB: http://Q11.IndicThreads.com

Citation preview

Page 1: Testing flash and flex for accessibility indic threads-q11

1

Testing Flash and Flex for

Accessibility

Rashmi AghorSAS R&D (India) Pvt. Ltd.

Page 2: Testing flash and flex for accessibility indic threads-q11

2

Key Takeaways…

Importance of accessibility Accessibility features in Flash/FlexAccessibility testing For Flash/flex

Page 3: Testing flash and flex for accessibility indic threads-q11

3

Agenda

Accessibility Flash/Flex AccessibilityAccessibility testing for Flash/FlexFlex is different…ConclusionReferencesQ & A

Page 4: Testing flash and flex for accessibility indic threads-q11

4

ACCESSIBILITY

Page 5: Testing flash and flex for accessibility indic threads-q11

5

What is Accessibility?

Accessibility means enabling computer hardware, software and services for universal use, including persons with disabilities.

Web accessibility means that people with disabilities can perceive, understand, navigate, and interact with the Web, and that they can contribute to the Web.

Page 6: Testing flash and flex for accessibility indic threads-q11

6

Types of Disabilities

Types of DisabilitiesVisual: color blindnessAuditoryMotor ImpairmentCognitive / LearningAge relatedAccidental

Page 7: Testing flash and flex for accessibility indic threads-q11

8

Try it yourself…

Blind user wants to type mobile number Assume that you are blind Unplug the Mouse and turn off the monitor Open Notepad and enter your mobile number

Total Keyboard Access Unplug the Mouse Open Microsoft Word and type a sentence Select it, copy and paste in another document

Page 8: Testing flash and flex for accessibility indic threads-q11

9

Solution ???

Page 9: Testing flash and flex for accessibility indic threads-q11

10

Assistive Technologies

Aid for disabled people to use technology

Utilize the info we provide via accessibility API

Common types of ATs Screen readers for blind users Braille displays/keyboards for blind users Screen magnifiers for partially sighted users Speech-to-text for mobility-impaired users

Page 10: Testing flash and flex for accessibility indic threads-q11

11

AT for Blind People: Braille Display

Page 11: Testing flash and flex for accessibility indic threads-q11

12

AT for Low Vision

Page 12: Testing flash and flex for accessibility indic threads-q11

13

Why Produce Accessible Software?Corporate Social ResponsibilityCompliance with Sec 508/WCAG/ISOCommunity Benefits:

Accessibility: For everyone's Benefit

Page 13: Testing flash and flex for accessibility indic threads-q11

15

Why Produce Accessible Software?Litigation Risk: Inaccessible Target.com Target settled big lawsuit:

Pay NFB $90,000 for certification and $40,000 per year thereafter.

Target’s web developers to receive accessibility training by NFB at a cost of up to $15,000 per session.

Pay damages of at most $7000 per claimant, and $20,000 to the California Center for the Blind on behalf of the primary claimant, Bruce Sexton, Jr.

Competitiveness/ Market share

Page 14: Testing flash and flex for accessibility indic threads-q11

16

Accessible Webcast

Sync’d transcript(translate?)

Archived video

Slides

Searchable transcript (ESL)

Page 15: Testing flash and flex for accessibility indic threads-q11

17

FLASH/FLEX ACCESSIBILITY

Page 16: Testing flash and flex for accessibility indic threads-q11

18

Adobe Flash Player

Cross-platform browser-based application runtime

Support for mobile devicesMobile-ready features for

multitouch, gestures, mobile input models.

Hardware acceleration

Page 17: Testing flash and flex for accessibility indic threads-q11

19

Adobe Flex

Highly productive, free, open source framework

Deploy consistently on all major browsers, desktops, and operating systems

Leverages Adobe® Flash® Player and Adobe AIR® runtimes.

Used in mobile application development

Page 18: Testing flash and flex for accessibility indic threads-q11

20

Is Flash Player Accessible?

Integrated support for Microsoft Active Accessibility (MSAA)

Action Script support for complex, dynamic sites

Flash content treated as HTML content

Supports Microsoft Internet Explorer and Mozilla Firefox

Supports JAWS, Windows Eye and NVDA

Page 19: Testing flash and flex for accessibility indic threads-q11

21

Is Flex Accessible?

35 accessible components in Flex 4Flash Player 9 or later

recommended Need to enable accessibility in Flex

applications

Page 20: Testing flash and flex for accessibility indic threads-q11

22

ACCESSIBILITY TESTING FOR FLASH/FLEX

Page 21: Testing flash and flex for accessibility indic threads-q11

23

Accessibility ComplianceValidations for

Sec 508 W3C WCAG

Country specific

Browsers IE7 and FF3 VPAT

Accessibility Test Results

Testing Environment Install

Walkthroughs, User guides, list of KB shortcuts

Level 1 Test Cases

Typical Accessibility Testing Process

Color Analyzer

Assistive technologies

Page 22: Testing flash and flex for accessibility indic threads-q11

24

Taxonomies

Accessibility testing categories:Keyboard accessibility Color – contrast supportAssistive Technology Compatibility

Page 23: Testing flash and flex for accessibility indic threads-q11

25

Keyboard Accessibility testing

Tab orderTop-Bottom, Left-RightLogical grouping

Keyboard navigation supportStandard Keyboard Navigation

supported?

Shortcut keys for quick navigation

Example

Page 24: Testing flash and flex for accessibility indic threads-q11

26

Keyboard Accessibility testing

Keyboard interaction supportEvery interaction possible with mouse is

also possible with keyboard only?

Use the product without mouse… Really

Consistent, visible focusExample

Page 25: Testing flash and flex for accessibility indic threads-q11

27

Test for Color – Contrast supportNo overriding of user selected display

attributes

Color alone not used to convey information

High Contrast Support High Contrast Theme

Screen Magnifier / browser’s Zoom functionality

Interface is perceived: Test with color contrast analyzer

Page 26: Testing flash and flex for accessibility indic threads-q11

28

Screen Magnification

Page 27: Testing flash and flex for accessibility indic threads-q11

29

Color Contrast Analyzer Tool

Use droppers to select colors for testing; use drop-down to test alternatives

Can test for colorblindness

Page 28: Testing flash and flex for accessibility indic threads-q11

30

Color Contrast Analyzer Results

Page 29: Testing flash and flex for accessibility indic threads-q11

31

Planning for Assistive TechnologyEnable accessibility in Flex

applicationSet accessible-true in flex-config.xml:

Default in Flex 4.1 SDK

<compiler> ... <accessible>true</accessible> ... </compiler>

Build samples with accessible – true!

Compile with –accessible=true

Page 30: Testing flash and flex for accessibility indic threads-q11

32

Assistive Technology CompatibilitySupport for keyboard, Screen Reader

and MSAA ensures accessibility with any Assistive Technology

Screen Reader SupportIs focus tracked?Text description of all visual elements Reads name and state of controls Skip repetitive content

Page 31: Testing flash and flex for accessibility indic threads-q11

33

Screen Reader Support

How to test?Start JAWSTurn off monitor and remove mouseStart Flash application

Accessibility Demo with JAWS

Page 32: Testing flash and flex for accessibility indic threads-q11

34

MSAA Support

MSAA support Name, Value, Role, State Exposed Change event notification

How to test? Start MSAA tools

ACCEVENT – Active Accessibility Event Tester INSPECT – Active Accessibility Object

Inspector Load Flash application

Page 33: Testing flash and flex for accessibility indic threads-q11

35

AccEvent32 Showing Events

Page 34: Testing flash and flex for accessibility indic threads-q11

36

AccEvent32 Log File

Page 35: Testing flash and flex for accessibility indic threads-q11

37

Inspect32

Page 36: Testing flash and flex for accessibility indic threads-q11

38

Catch the Defect

Hint: The person is using a screen reader

Page 37: Testing flash and flex for accessibility indic threads-q11

39

FLEX IS DIFFERENT…

Page 38: Testing flash and flex for accessibility indic threads-q11

40

Flex Accessibility Testing ChallengesNeed ‘JAWS Scripts for Flex’

Partial support for MSAA in Flash Player IAccessible – tree of arbitrary depth

AccessibilityImplementation no methods supporting Parent/Child

relationships one level depth impacts complex components – Table

Page 39: Testing flash and flex for accessibility indic threads-q11

41

Flex Accessibility Testing ChallengesAccessibility is not built in…

Enabling accessibility alters application size

Expertise and Learning curve

Automation for accessibility

Page 40: Testing flash and flex for accessibility indic threads-q11

42

Flex Accessibility Best PracticesEnable application accessibility

Use accessible components

Ensure keyboard access

Control reading order

Provide instructions, captions and text equivalents

Use color wisely

Page 41: Testing flash and flex for accessibility indic threads-q11

43

Conclusion

Accessibility is not only for disabled, it benefits all. It is crucial to test applications for accessibility to ensure conformance with laws and standards and for making interfaces perceivable, operable, and understandable. Let us emphasize on creating universally acceptable products.

Page 42: Testing flash and flex for accessibility indic threads-q11

44

References Computer accessibility

Web accessibility

WAI: Accessibility Introduction

Accessibility: For everyone's Benefit

Inaccessible Target.com

Adobe Flash accessibility design guidelines

Flex accessibility

Standard Keyboard Navigation in Flex

Flash player 10 VPAT

Flex Accessibility Best Practices

Accessibility for Spark Components

Page 43: Testing flash and flex for accessibility indic threads-q11

45

Q & A

Page 44: Testing flash and flex for accessibility indic threads-q11

46

Thank You