Accessibility In Adobe Flex
Upcoming SlideShare
Loading in...5
×
 

Accessibility In Adobe Flex

on

  • 1,732 views

EffectiveUI Senior Developer Michelle Bagur explores the history of website accessibility laws, along with approaches and methods to ensure compliance.

EffectiveUI Senior Developer Michelle Bagur explores the history of website accessibility laws, along with approaches and methods to ensure compliance.

Statistics

Views

Total Views
1,732
Views on SlideShare
1,732
Embed Views
0

Actions

Likes
0
Downloads
4
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Accessibility In Adobe Flex Accessibility In Adobe Flex Presentation Transcript

  • Accessibility in Flex History, Methods, Concerns, Advice Michelle M Bagur Senior Developer, EffectiveUI [email_address] fugaciousness Slideshare.net/fugaciousness
  • Introduction: What to Expect
    • Accessibility as a whole
        • Definitions, history, necessity, complexity
        • The components that comprise accessibility: the web, assistive devices
        • Examples (both good and bad)
    • Accessibility in Flex
        • My participation in this effort
        • How it’s supposed to work
        • Implementation examples (tips and tricks)
        • The outlook for Flex 4
  • Definitions and Considerations
    • Basic definition
        • Allowing people with disabilities or impairment to use the web or software applications
      • Not just one group should be targeted.
        • People who are blind, have motor impairment, the elderly, the hard of hearing
  • A Little History
    • Rehabilitation Act - 1973
        • Prohibits discrimination on basis of disability
    • Section 508 - 1998
        • Required Federal agencies to make their electronic and information technology accessible to people with disabilities
        • Includes not only internally used applications, but any information that is provided to the general public
        • http://www.section508.gov/ has technical standards, training information, FAQs, forums, etc
  • Acronyms to Know: WAI, W3C, WCAG
    • WWW Consortium (W3C)
        • International consortium of member organizations, full time staff, and the public
        • Develops interoperable technologies
        • Forum for communication and ‘collective understanding’
    • Web accessibility initiative (WAI)
        • Part of the W3C
        • Develops accessibility guidelines, reports, and resources to help make the Web available to people with disabilities: WCAG
    • WCAG (Web content accessibility guidelines)
        • Created by the WAI
        • Series of documents, part of a bigger series of accessibility guidelines
        • Initially published in 1999, Version 2 out in 2008
  • The Spirit of Things
    • Principles of accessibility (developed by the WCAG)
        • Perceivable
        • Operable
        • Understandable
        • Robust
      • Compliance
        • How do you know if you comply?
          • Test against guidelines
          • Find an impaired user
          • Combination of automated tools and best judgment
        • Is the ‘spirit’ of compliance good enough?
          • Alternative approaches, are they different but equal?
  • Why Does it Matter?
    • Target Lawsuit
        • Why were they sued?
        • By whom?
        • What were the results?
    • Read any blog, there are debates amongst people
        • Common phrase: Go elsewhere, use another site, businesses will suffer
        • Not actually the way it works; what if there are no alternatives?
        • Why Target, if they are not a government agency?
  • Assistive Technologies
    • Keyboard Navigation
        • No extra requirements
        • Tabbing, hotkeys
    • Screen Readers
        • JAWS by Freedom Scientific
        • Window Eyes by GW Micro
        • VoiceOver by Apple
  • How do Screen Readers Work?
    • MSAA (Microsoft Active Accessibility)
        • API introduced in 1997
        • IAccessible COM interface
        • Four pieces exposed by API: Name, Type, Value, State
        • UI Automation
    • Properties
    • Client asks server
    • “ give me this info”
    • get_accRole()
    • get_accName()
    • get_accDescription()
    • get_accState()
    • get_accValue()
    • get_accParent()
    • get_accChildCount()
    Events Server notifies client “ this just happened” OBJECT_CREATE OBJECT_DESTROY OBJECT_NAMECHANGE OBJECT_FOCUS OBJECT_SELECTION
  • Examples: You Decide
    • Good?
        • www.Amazon.com
        • www.dignubia.org (only in IE)
    • Bad?
        • www.Target.com
        • www.Google.com -> www.recipes.com
        • http://www.w3.org/WAI/wcag-curric/sam26-0.htm
        • http://examples.adobe.com/flex2/inproduct/sdk/flexstore/flexstore.html
  • Flex 3 and MSAA
    • Three main classes:
        • Flash.accessibility.AccessibilityImplementation
        • Flash.accessibility.AccessibilityProperties
        • Flash.accessibility.Accessibility
    • Compile with –accessible = true:
        • package mx.controls {
        • [AccessibilityClass(implementation="mx.accessibility.ButtonAccImpl")] public class Button { … }
        • }
        • Initialized with: button.accessibilityImplementation = new
        • ButtonAccImpl(button)
  • Example: AccImpl A Button’s MSAA name is the label that it displays, so JAWS speaks the label class ButtonAccImpl extends AccessibilityImplementation { override public function get_accName():String { return label; } }
  • AccessibilityProperties
    • Code example
        • AccPropertiesEx.mxml
        • Accessibility.active
        • Accessibility.updateProperties()
  • How’s it Supposed to Work?
    • Flex 3:
        • JAWS 8, 9,or 10
        • Internet Explorer
        • JAWS scripts
    • The chain of command:
        • Flex SDK
        • Flash player
        • JAWS scripts
        • JAWS
  • The Official Documentation
    • 28 Accessible components:
        • Accordion
        • Advanced Data Grid
        • Alert Button
        • Checkbox
        • ColorPicker
        • Combobox
        • DataGrid
        • DateChooser
        • DateFeld
        • Form
        • Image
        • Label
        • LinkButton
        • List
        • Menu
        • MenuBar
        • Panel
        • RadioButton
        • RadioButtonGroup
        • Slider
        • TabNavigator
        • Text
        • TextInput
        • TitleWindow
        • TooltipManager
        • Tree
  • Tips and Tricks: Prepare Thyself
    • Make sure scripts are installed:
        • Insert + q
    • Start tabIndex at 1, rather than 0
        • tabIndex = 1;
    • Don’t be afraid of the focusThickness property
        • focusThickness = 3;
    • Get focus into Flash application (semi successfully)
        • ExternalInterface.call( "s = function() {document.getElementById('“ + this.id + "').focus(); }" );
    • Possible method to force the tab to stay within the app
        • keyFocusChange="event.preventDefault();
        • focusManager.getNextFocusManagerComponent(event.shiftKey).setFocus()“
    • Form Validation
        • Validation message gets added to end of accessibilityName, should
        • get read when field is focused.
  • Tips and Tricks: Tooltips
    • If control has:
        • Tooltip, no name, no description
          • Tooltip used for name value and visual tooltip
        • Tooltip, has name, no description:
          • Tooltip used for description value and visual tooltip
        • Tooltip, no name, has description:
          • Tooltip used for name value and visual tooltip
        • Tooltip, has name, has description:
          • Tooltip used only for visual tooltip
    • Tooltip bugs:
        • Sometimes they’re just not read: NAB
        • Can’t read tooltip on textArea if it’s not editable IS a bug
  • Tips and Tricks: JAWS
    • Press Enter to move into and out of forms mode. This is no longer on by default , in the newest scripts.
    • Press Insert + Z to toggle virtual cursor mode. Not possible on a MAC laptop, must be reassigned via JAWS.
    • Use JAWS Keyboard manager to reassign keys, make changes to voice, change verbosity.
    • JAWS can take over keystrokes, as there is a long list of preassigned key combinations. Be aware if you’re developing when JAWS is running, you will have issues.
  • The Outlook for Flex 4
    • “ We will continue to invest in accessibility in each version of Flex, but sometimes that support will be staggered across releases.  In Flex 4 we have fixed a number of bugs, and we hope to continue to do so, including backporting those fixes to Flex 3.  We are not implementing accessibility for Spark controls in 4.0, but there will be a follow-up release not too long after that will add support in.
    • “ We are also investigating the next generation of accessibility support as part of a future version of the Flash Player.  Adobe has membership in the relevant committees (like WCAG 2) and we are working with industry leaders to make sure that we're supporting the right things.  It will take a release or two for that substantial upgrade to occur, but is definitely on our roadmap.”
  • Helpful Links and References
    • http://www.w3.org/WAI/EO/Drafts/PWD-Use-Web/#diff (examples of disabilities and use cases for assistive technology)
    • http://blog.comtaste.com/2007/06/form_fields_focus_and_keyboard.html (keep focus in flash movie)
    • http://tinyurl.com/ouccm4 (adobe’s jira accessibility bug list)
    • http://www.adobe.com/accessibility/products/flashplayer/overview.html (flash 10 and accessibility)
    • http://msdn.microsoft.com/en-us/library/ms697707.aspx (MSAA description)
    • http://blogs.adobe.com/accessibility/ (adobe’s blog moderated by Andrew Kirkpatrick)
    • http://www.section508.gov/ (the accessibility act)
    • http://v1.boxofchocolates.ca/archives/2006/02/09/taking-aim-at-target-dot-com (articles and comments on target lawsuit)
    • http://www.w3.org/WAI/ (standards and checklists)
    • http://www.jimthatcher.com/testing.htm (walkthrough of testing for accessibility)
    • http:// msdn.microsoft.com/en-us/library/ms788733.aspx (ui automation and MSAA )
    • https://share.acrobat.com/adc/document.do?docid=e907b423-0407-46da-a75f-87d7468dd997 (newest scripts)
  • Special Thanks
    • Gordon Smith: Flex Engineer, Adobe
    • Jay Proulx: Enterprise Developer Support Consultant, Tier 3, Adobe
    • Andrew Kirkpatrick: Senior Product Manager, Accessibility, Adobe
    • John Funk: Solutions Architect, Adobe
    • Jonathan Avila: Chief Accessibility Officer, SSB Bart
    • Matt Chotin: Flex Product Manager, Adobe
    • Matt May: Accessibility Engineer, Adobe