Tip #8 | Screen Reader Welcome Message
Wednesday, September 24th, 2008
Because there are not that many accessible Flash sites out there yet, it is helpful to add a small Welcome Message for screen reader users to a Flash site or a Flash application. This can be a small hidden text field, that is given the tabIndex of 1, so it is picked up first.
Because of Flash’ dynamic nature, it might be hard for screen reader users to detect any changes on a Flash screen after it has updated. These changes mostly occur after a button is pressed or other user action in Flash. In order for the screen reader JAWS to start reading from the top again, CTRL + Home can be pressed. This can be put in the screen reader welcome message. An example:
Welcome to the <insert title of the website here> website. Use the up and down arrow keys to navigate this Flash site with a screen reader. Press Enter or the Space Bar to select the buttons. Press CTRl + Home to scan each Flash screen from the top for changes after <insert button here>.
A welcome message like this alerts screen reader users that this Flash application has been made accessible, and serves as a reminder that the content might change. It can be tailored to the specific Flash site. For a quiz, for example, you can alert the user to press CTRl + Home ‘for changes after pressing the next button’.
To read all the tips, select ‘Flash Accessibility Tips’ on the side bar.

Writing meaningul alt text is important. Just adding ‘image of __’ is not enough, the image needs to have a meaningful description of its contents. Remember that alt texts in Flash can be longer than in HTML, so we can add more details. Here are a few Alt Text guidelines that we go by:
The tricky part in programming the Reading Order in Flash, is that the screen reader focus does not always re-start from the beginning of the Flash file when Flash content changes. Unfortunately, there is no way for Flash to programmatically shift the screen reader focus yet. (I am sure this will be added soon).
When using loadMovie to load an external jpg or swf into a holder movieclip, make sure to replace it with the newer MovieClipLoader code. A downside of loadMovie is that it causes any properties of the movieclip to be wiped out when the new content has been loaded, including any alt text that has been assigned.
When you are programming buttons dynamically, you might be enabling or disabling buttons that are not in use. For example, a back button can be greyed out and disabled on the first page of a slideshow. If you are leaving these buttons on the stage, and disabling them by button.enabled = false; code, then make sure to also set the button.tabEnabled = false; as well.
We have come across several Coming Soon rollover buttons. Sometimes button objects are used that do not actually have an OnRelease event, but just an OnRollOver state. Nothing happens when you click them, just when you roll over them. This is clear to a sighted user, but to a screen reader user it might be confusing when the button reads as a ‘button’, but nothing happens when it is clicked.
When you have ordered all the elements with .tabIndex, and you want to test out the Reading Order with a screen reader, you will have to publish and open your file in Internet Explorer. This is because the screen reader works with MSAA, that runs inside of the browser. MSAA pulls out the content of your Flash movie, and feeds it to the screen reader. But to test out the Tab Order, by tabbing through the movie, you don’t have to leave Flash.
When making Flash accessible, there are two things to consider: 1) The Reading Order. This is the order in which the screen reader reads the Flash content. 2) The Tab Order. This is the order in which a user would tab through the Flash movie by pressing the Tab key.