by AWK

 Comments (17)

Created

July 22, 2008

This post is subject to Adobe's Terms of Use.

Accessibility in the Flash Player and in products that depend on it is very important, and there is a lot more built in support for accessibility than most people are aware of. The Flash Player supports over 60 different role constants and has mechanisms for developers to set role and state information for controls, has methods for getting and setting values, and allows developers to define the accessibility location information for a control to help screen magnification tools restrict the magnified viewport, control the accessibility API focus and selection, and more.
In the documentation package linked below you’ll find:

  1. Documentation of the flash.accessibility package and AccessibilityImplementation class
  2. Documentation of the mx.accessibility package and accessibility implementation classes for Flex components
  3. Improvements to “getting started” articles about accessibility, including a information about implementing accessibility on a sample component.

Developers have asked for this information, which has been until now not publicly shared. The documentation that we are now providing is a draft that we would love to hear comments on. To comment on this, please either log bugs on our Flex bug database at http://bugs.adobe.com/jira, orat the Flex Documentation blog entry on this topic, or you can leave comments here.
The documentation is the result of the efforts of the Flash Player, Flex, and Adobe Corporate Accessibility teams – let us know your thoughts!
UPDATE: I’ve modifed the files for download in response to questions from some reviewers. The zips previously contained files for accessibility that had changed in the langref, but this resulted in flash.accessibility.AccessibilityProperties apparently being removed and replaced by flash.accessibility.AccessibilityImplementation. This is not the case, both are present. Sorry for the confusion.
Download the “accessibility-only version of the Flash and Flex accessibility documentation.

COMMENTS

  • By stephen buckley - 4:35 AM on July 23, 2008  

    Andrew,
    It would probably be more useful to extract the relevant pages to a seperate PDF or tell people that they need to link to accessible1.html within the documentation file
    I believe that we are currently facing a real challenge in creating truly cross plaform accessible applications.
    Our team here is in the throes of redefining the boundaries of what we consider to be good accesibility in flash (most of our content is Flash based)
    Being the largest govt elearning portal in the UK we have a mandate to provide solutions that are accessible, where we can. Can you point me towards any resources or links within adobe that augment the accessibility site at Adobe.com. It seems to me that resources are thin on the ground.
    No you know what plans are afoot to impliment accesibility in AIR?

  • By stephen buckley - 4:55 AM on July 23, 2008  

    The sendEvent method in the Accesibility Class?
    Is this a new method or simply an undocumented method?
    In which flash player does it become available?

  • By Andrew Kirkpatrick - 8:50 AM on July 23, 2008  

    Thanks for the comments Stephen. I’ve added a link to an “accessibility-only” version of the files.
    The sendEvent method is neither new nor undocumented…at least not anymore. It was undocumented, but this is clearly one of the most important methods to make sure people are aware of. This method, and most of what is now documented functions in all MSAA-supporting player versions, which means back to player 6 on Windows activeX and player 9 for the plugin version of the Windows player. The documentation is authored for AS3, however, so there may be changes that aren’t apparent from the docs.

  • By David Arno - 11:47 AM on July 24, 2008  

    Excellent news, even if it is six years late!
    Why oh why though is this document hidden away on a flash-only website that insists on bringing up an overlay in order to enable the download? The irony of an inaccessible document on accessibility would have had me in stitches if it wasn’t so petty and annoying.
    I’ve made the document available as a simple – HTML – link on my blog for anyone interested: http://www.davidarno.org/301

  • By Andrew Kirkpatrick - 12:21 PM on July 24, 2008  

    David, the document isn’t inaccessible, I can get to it with a screen reader and from the keyboard. I also changed the “accessibility-only” link to an HTML link (my blog system doesn’t allow files the size of the larger one, which is why I used the Acrobat.com Share account).

  • By Andrew Meit - 9:24 AM on July 29, 2008  

    Do this now mean all of Adobe’s flash training materials will be much more smarter about accessibility? I have not forgotten how frustrating it was to use the onsite CS3 flash vid training files that would not allow magnification/zoom to full screen just to protect intellectual content for Lynda.com! Access trumps politics of content. I am expecting Adobe to do much better for CS4. Adobe can be a leader in this regard.

  • By Andrew Kirkpatrick - 10:56 AM on July 29, 2008  

    Andrew, this doesn’t mean anything about any individual Flash movie – Flash authors are still free to build applications as they deem necessary. The full screen support of any video application is also completely separate from what this document provides information on. I’ll check into the status of the Video Workshop for CS4 – thanks for the comments.

  • By Ben Dowzell - 4:37 AM on August 11, 2008  

    Andrew,
    Could you please advise on the latest information regarding Accessibility with Firefox and Safari runiing on MAC OS.
    Many Thanks

  • By Andrew Kirkpatrick - 9:21 PM on August 19, 2008  

    Ben, the Flash Player currently does not support the Macintosh accessiblity API.

  • By Don Marang - 4:48 PM on August 23, 2008  

    Can you explain why accessibility is turned off by default in Flash? It seems there is considerable effort required by the developer to even provide basic accessible properties to common graphic buttons such as a name attribute to “play/pause” or “mute”. It is no wonder that the vast majority of sites on the Web that have Flash objects are not accessible. The developer should be encouraged, assisted and idealy automatically generate accessible Flash objects.
    Sorry that this comment is not directed to the particulars of the documentation. If the accessibility of Flash content is so highly dependent on the responsibility of the developer, this important documentation needs to be widely distributed and preached!

  • By Andrew Kirkpatrick - 11:10 PM on August 24, 2008  

    Don,
    Accessibility support is turned off in the Flex compiler by default, which is primarily due to there being an increase in size of the compiled SWF. My team is looking into this presently.
    Related to one of your points, if you are using the Flash authoring tool and need to add an equivalent for a button (e.g. “play” or “mute”) this is very simple when using the accessibility control panel — just type the appropriate name. In Flex you can handle this with a simple tooltip (and making accessibility on in the compiler). This is similar in difficulty to adding an alt attibute and value to an image button in an HTML page. As controls get more complex, the work increases, to be sure, but the same is true in HTML content, where ultimately you need to start using DOM scripting and more complex code to accomplish the same types of tasks.
    You’re right that we need to work to make this type of work easier.

  • By stephen buckley - 5:54 AM on September 8, 2008  

    Andrew,
    Is there a definitive list of issues relating to accessibility, cross browser issues and the flash player.
    there are a number of issues relating to possible bugs/features in the player and its various windows incarnations, the only list I can find is on Niqui Merrets site which hint a couple of issues.
    One of the things I am trying to do at the moment is to write a guide for a UK govt sponsored E-Learning provider on the best way to implement accessibility support in Flash Content.
    Trying to do this cross browser is riddled with inconsistency and even some of the other peoples reference / test cases do not work as expected.
    Who is the best contact at adobe to point me in the right direction with this?

  • By Michelle Bagur - 5:16 PM on October 23, 2008  

    Andrew-
    I have been scouring the web for up to date (and correctly functioning) Flex accessibility implementations and/or examples, to no avail.
    I’ve run all of the apps that are said to be the best examples, but without much success. The ‘Adobe restaurant finder’ example which includes accessibility capabilities is simply not accessible by a screen reader, and the screen reader also interferes with the keyboard navigation.
    I have created simple basic-component Flex apps to test different ‘accessible components’ and the different methods of implementing accessibility, but I remain stymied. The components function appropriately with keyboard navigation, but they combust when I have JAWS 9.0 [with Flex scripts installed] running).
    Is there ANY new information on this topic? Especially (as the most recent commenter mentioned) regarding known bugs, inconsistent behavior, or interactions between the screen reader and keyboard navigation? ANY new methods, best practices, or recently verified examples (again, Flex 3.0 and JAWS 9) would be extremely helpful.
    Thank you

  • By Mark DeMichele - 9:00 PM on February 4, 2009  

    Like Michelle, I two have been looking for working examples. I wonder if anyone knows of any useful examples especially if they are done in flex. The adobe site has a link for supposed examples in flex, but you get a 404 when you click on it.

  • By Mark DeMichele - 2:45 PM on February 9, 2009  

    Thanks, this document is very useful. I have a question though. The Microsoft IAccessible interface allows you to nest complex children by implementing the get_accChild method. Flash seems to have dummied that down and used a method called getChildIDArray which returns just integer ids for “simple” children. Is it posible to configure complex child? I need it badly. Without this support, it’s difficult to make any kind of complex interface truly accessible.

  • By Lukasz 'Severiaan' Grela - 11:35 AM on May 28, 2009  

    Is there an example of non Flex and non Flash UI components example of non-trivial accesssibility implementation using custom classes?

  • By e-portfolio - 6:13 AM on February 26, 2010  

    Its one of the most relevant topic. I do agree with Andrew that a permanent solution is mandatory for accessible documentation.