Norman Nielsen once said that "About 99% of the time, the presence of Flash on a website constitutes a usability disease."[1] However, this statement was made in 2000 when Flash lacked many of the accessibility functions that are available today. In 2002, the Flash Player began support for Microsoft Active Accessibility (a bridge between the Flash Player and screen access technologies) and eventually Freedom Scientific released a version of the JAWS screen reader which could access Flash material.[2] This was just the beginning and eventually Adobe created a version of the Flash application that enables developers to control the accessibility as an application is designed.

Targeting accessibility is the most important step to overcoming Nielsen’s stigma on Flash use in the web. Since "designing accessible content requires designers and developers to pay attention to the user experience"[3], we can anticipate that making accessibility a priority will prove to be a catalyst for a complete user-centered design process. A usable and relevant Flash product will be produced; a cure to the usability disease.

It takes a thoughtful, user-centered designer to consider all abilities and disabilities of people who will interact with an interface. While there is yet to be a universally accepted categorization of disabilities, the World Wide Web Consortium (W3C) provides a general list of common disabilities encountered on the web as a good place to start[4]:

Visual

blindness

low vision

color blindness

Hearing

deafness

hard of hearing

Physical / Motor

Speech

Cognitive / Neurological

dyslexia and dyscalculia

attention deficit disorder

intellectual disabilities

memory impairment

mental health disabilities

seizure disorders

Multiple Disabilities

Aging-related conditions

Best Practices

In many ways, designing an accessible Flash product will overlap with the steps taken to design an accessible non-flash web site. The first step in addressing Nielsen’s issues with Flash, is to understand web content accessibility guidelines or principles. One can locate predefined guidelines from the W3C – however, it is important to note that there are other resources that some may consider to be superior.

The W3C break down 12 guidelines into four groups: Perceivable, Operable, Understandable and Robust. We’ll briefly look at these guidelines in the four groups from a Flash perspective[5]:

Perceivable

"Provide text alternatives for non-text content."

"Provide captions and alternatives for audio and video content."

"Make content adaptable; and make it available to assistive technologies."

"Use sufficient contrast to make things easy to see and hear."

Since Flash encourages heavy use of graphic/non-text content, this has been a major issue in its accessibility to screen readers.

There are three ways that Flash designers can deal with this issue:

Make the Flash content self-voicing, eliminating the need for the screen reader.

Provide an accessible alternative to the Flash content. (e.g. HTML)

Make the Flash content natively accessible to the screen reader.

Flash player 10 exposes all text elements to screen readers by default, and making Flash non-text elements natively accessible to the screen reader is now easier since adding text equivalents has been introduced to the Flash authoring application with the "Accessibility Panel".

Operable

"Make all functionality keyboard accessible."

By default, Adobe Flash now makes mouse-defined events accessible via the keyboard. However, there are a couple techniques used by Flash designers when programming that must be avoided to facilitate the keyboard accessibility. This can be explored on the Adobe Flash Accessibility website.

Additionally, keyboard shortcuts or "hotkeys" should be created for the most frequently used actions within more complicated applications. This involves simply creating key "listeners" that respond by calling a function when certain combinations are typed by the user. While this is nothing new, again it takes a thoughtful designer to recognize the need for hotkeys and working this into the application.

"Give users enough time to read and use content."

"Help users navigate and find content."

"Do not use content that causes seizures."

Nielsen points out that animation can easily be abused and non-standard GUI controls are a threat. This has the potential to aggravate users who suffer from seizures and cognitive disabilities. It’s important as a best practice to have animations settle to a static state on the screen once the page loads. This will reduce distractions for users with or without learning disabilities in addition to removing repetitive motion that could possibly induce seizures.

Understandable

"Make text readable and understandable."

Similar to HTML, Flash designers must provide ways to increase and decrease text size for users with different vision abilities. Zoom and pan functionality is very easy to implement with software libraries like TweenLite.[6]

"Make content appear and operate in predictable ways."

"Help users avoid and correct mistakes."

A feature of Flash that can also be an issue in regards to accessibility is the dynamic properties of an ever changing Flash movie or application. When the content in Flash changes, the Flash player sends a notification to the screen reader and the screen reader will start over at the top of a page, regardless of where it left off. In an effort to help reduce potential misinterpretations by the screen reader and user, Adobe has worked to create a "Halt Flash Events" hotkey (Alt + Shift + M) for the Window-Eyes screen reader. This toggle will suspend all animations in order for the reader to complete the page.

Robust

"Maximize compatibility with current and future technologies."

With the number of mobile phone internet users rapidly growing, it’s crucial to address the mobile aspect of Flash accessibility. This is something that is fairly new and dynamic as Flash support for mobile phones is gaining momentum. However, just as a few years ago it was important to address users still on dial-up connections, there is now a very similar group of users on mobile devices that do not support Flash and may not have 3G connectivity. This means there are still a large number of mobile users who will be concerned with data heavy web pages that take too long to load and run up their bill.

"Mobile users often pay for bandwidth, so offering them content that is extraneous to their needs, especially advertising, costs them time and money and contributes to an unsatisfactory experience. In general, the user’s consent should be sought before initiating the download of content".[7]

An additional thought is to check if the project or client you are working on/with has pre-defined best practices for Flash and/or minimum requirements for Flash player. This information is valuable and will save time if it is located early on. While it is important to design for future technologies, it is also important to make sure the Flash product behaves correctly in older versions that may be more prominently used in one’s target environment.

Summing up

In summary, Flash has come a long way in the past decade and it is just as prominent as ever, "… used by over 2 million professionals and reaching 99.0% of Internet-enabled desktops in mature markets as well as a wide range of devices."[8] As more businesses move toward web-based applications, Flash becomes an attractive asset that can add value when kept relevant and designed for every potential user.

Erik Johnson is a User Experience and Interaction Designer. He is the co-founder of Skaan Design, a company focused on web development and design services. You can also check out his portfolio site. Erik also creates videos, and you can find his shenanigans on YouTube under the moniker, heyerok. You can Follow him on Twitter: @heyerok.

ummmmm… I got a better idea. Why don’t the big companies get together, stop suing each other and make Flash accesible. Why should millions of people come up with their own workarounds for this kinda S#!t.

Interesting read. Flash has come a long way since its inception, but if you want real accessibility XHTML is still the answer. Flash has its place too. But what you gain in visual richness you lose in accessibility.

Nice work on a subject most of us usually only speculate on. I still think though, that any content of significant importance should not be included in Flash. There are those who disable it on purpose, and also some who simply can’t upgrade.

These days, when confronted with a choice to use Flash or not, I try to find another solution… and not only do I usually find something – I find something better in implementation, updating, seo and overall efficiency.

I also dislike having to update the Flash player constantly. It’s been like a decade and I’m still having my usability accosted by Flash.

but i digress, thanks for the article.

dev0347

While Flash is great for things which absolutely have to be in a movie-style format, it’s important to remember that accessibility is about all users being able to access your content in a way that’s meaningful to them, not just about catering to people with either learning or physiological disabilities.

I work in an organisation of several hundred thousand employees, none of whom can access Flash-based sites (it’s deemed non-essential so is not installed in base machines) and I do a lot of my personal browsing on my iPhone. These days, any site that’s entirely in Flash – or has important elements which require Flash to be installed – loses my business instantly because the chances of me saying, “Well, I can wait until I’m in front of my home PC,” are pretty rare when there are other options out there.