Creating Accessible Flash Content
Flash Accessibility Overview
Due to lack of Flash support on mobile devices (particularly iOS devices), decreased support in many browsers, poor accessibility, and general transition away from Flash as a commonly-used web technology, using Flash is not generally recommended. This article provides an overview of Flash accessibility with the general understanding that Flash content cannot be seen or used by many site visitors, regardless of disability.
Adobe Flash used to be one of the most widely available technologies used on the web. For developers, the ability to program one multimedia presentation that could be viewed the same on nearly all computers made the technology very appealing. However, technology has quickly shifted away from using Flash to other technologies, such as HTML5. For individuals with disabilities, Flash always introduced unique accessibility problems, many of which are adequately addressed by HTML5 and other web technologies.
Because of the multimedia nature of Flash, it can be used to deliver content through many mediums: graphics, text, video, audio, etc. Its power and flexibility give it potential to present web content in unique, and potentially accessible, ways. Here are some examples of how Flash could be used to increase accessibility:
- Multi-modality: Flash can provide content in multiple ways, such as text, video, and audio simultaneously.
- Scalability: Because Flash is based on vector objects (mathematically defined lines and shapes) rather than raster (pixels of differing colors) technology, most Flash content can be easily scaled to any size without distortion. Individuals with low vision may be able to interact with Flash content in ways not possible with HTML content.
- Keyboard accessibility: Flash allows a higher level of keyboard interaction than is allowed in HTML. Many Flash movies can be made more functional, powerful, and easy to use by allowing keyboard access.
- Engaging: Flash can engage learners through interactivity, animation, sound, graphics, and many other ways. Individuals with learning or cognitive disabilities can better comprehend and focus on some Flash content. Flash multimedia can be used to supplement static HTML content.
- Self-voicing: Because of the audio capabilities of Flash, it can present content through audio, thus removing the need for a screen reader to extract audio content from the Flash movie.
Flash Accessibility Issues
Despite the ability of Flash to create (at least marginally) accessible content, there are some major issues you must be aware of regarding Flash and accessibility. Nearly all of the concepts that affect HTML accessibility can also apply to Flash. These include providing plenty of contrast, consistent navigation, understandable language, etc. Here are some specific strategies to make Flash accessible to different disability types:
- Provide synchronized captions for any audio that conveys content
- Remove strobing content that flashes between 2 and 55 times per second
- Ensure the Flash content is keyboard accessible
- Do not require fine motor skills
- Give users control over time sensitive content
- Provide easy to use controls and navigation schemes
- Be consistent
- Use the clearest, simplest language appropriate to the content
- Provide plenty of contrast
- Allow the Flash content to scale to a larger size
- Ensure screen reader accessibility or provide an accessible alternative
- Ensure keyboard accessibility
- Do not interfere with screen reader audio or keyboard commands
- Provide textual equivalents for all non-text elements that convey content or provide a function.
Although each of these strategies can increase accessibility, Flash content is rarely designed to include all of these strategies at the same time. As such, nearly all Flash content on the web poses notable accessibility issues for many users with disabilities. When all accessibility techniques are applied to Flash, it can be made accessible on platforms that support Flash and Flash accessibility, perhaps even more so than HTML, because the need for specific assistive technologies (with their accompanying limitations) is removed. However, such an endeavor is very difficult or even impossible with a majority of Flash content. In short, unless all of the accessibility techniques are applied and end users have specific Flash-supported technologies, Flash is unlikely to be very accessible.
Assistive Technology Support for Flash
The majority of Flash content cannot be made natively accessible to screen readers.
By its very nature, Flash content does not lend itself to screen reader accessibility. Flash content is time-based and often changes over time. HTML content is more or less static. The static nature of HTML allows a screen reader to access the HTML content in a linear fashion. When a visual user accesses a Flash movie, he or she visually scans the contents of the movie and focuses directly on the important content or functionality. A screen reader user cannot "scan" through Flash content and can only access it in a linear manner and in the order the Flash developer has chosen to present it. Flash's timeline and programming language (ActionScript) allow constantly changing, dynamic, updating objects to animate, move, disappear, or duplicate themselves whenever the Flash developer chooses (or even randomly if they want). Because Flash content is usually constantly changing, this limits the ability of the screen reader to read the content in a sufficient or timely manner.
At this time, only modern versions of the JAWS and Window-Eyes screen readers that are using the Flash 6+ player within Internet Explorer on Windows can provide even marginal access to Flash content. In order to be fully accessible to screen reader users on these limited platforms, the content must have been developed for accessibility.
In short, you must conduct testing with a variety of end users, platforms, browsers, and assistive technologies to ensure that your Flash content is accessible to the widest array of users. You may need to re-evaluate your use of Flash. Perhaps another technology may work better. Because the vast majority of Flash content cannot be made natively accessible, it will probably be vital for you to provide a non-Flash alternative for those that cannot or choose not to access your Flash multimedia.
Screen Reader Accessibility
Despite the significant shortcomings, techniques are available to implement screen reader support (at least for JAWS and Window-eyes in Internet Explorer) into Flash content. Please refer to the Adobe Flash Accessibility page for additional details on implementing accessibility, such as defining a navigation and reading order, adding alternative text, ensuring keyboard accessibility, etc.
There are three ways in which the Flash content can be made accessible to screen reader users:
- Make the Flash content natively accessible to the screen reader.
- Make the Flash content self-voicing, eliminating the need for the screen reader.
- Provide an accessible alternative to the Flash content.
By making your Flash movie self-voicing, you remove the need for the screen reader. In essence, you are taking over the role of the screen reader by conveying audibly any content that is presented visibly within the Flash movie. The screen reader user should be alerted that the program is self-voicing so the screen reader can be paused while the Flash movie presents the audio content. Any important content that is conveyed visibly must also be provided through the audio. You can relate this to listening to a sports event on the radio - although you cannot see the action, the commentators are providing all of the important details through the audio. You may want to provide a self-voicing movie as an alternative to a non-voicing Flash movie, or provide an option to turn self-voicing functionality on or off. Remember, if you are conveying any content audibly, that is not apparent from the visible display, then you must provide captions for the deaf and hard of hearing. The movie must also be made keyboard accessible.
It may also be necessary to provide an equivalent alternative to the Flash movie itself. This should only be done when the movie itself can in no other way be made accessible, or if your users are not likely to have access to the Flash player (e.g., users of mobile devices). It may be hard to justify that an HTML tutorial is equivalent to an interactive multimedia Flash tutorial. The key is to make the alternative content equivalent, not necessarily text-only. Instead of providing a text-only page with long running lengths of text, the equivalent should be a well-formatted and accessible web page with images, icons, paragraphs, and color. Just because someone accesses your equivalent alternative, doesn't mean that they are blind and don't care about what the page looks like or how it functions. Often, the alternative can be within the same page as the Flash movie itself. In some cases, you can give the user the option of turning on and off Flash content.
One could probably state that Flash accessibility is impossible due to it not being supported on many modern technologies, such as most mobile devices. Due to lack of general support, difficult accessibility implementation, poor assistive technology compatibility, etc., Flash content should generally be avoided. If Flash is to be used, techniques are available for implementing accessibility to the extent possible.