The following tests examine how screen readers read Flash objects.
These examples use the HTML object element to embed a Flash movie object. (The nested objects/IE comments approach is used for cross-browser compatibility.) In each case, the HTML object element also has text content (consisting of the text "Object content").
The Flash movie contains a single MovieClip object. The movie name & description and movieclip name & description are all set within the Flash movie. Except as noted, the Flash "Make movie accessible" and "make child objects accessible" settings are on.
Test 1: "Make movie accessible" off
Expected
Read object content
Results
JAWS 10: "Flash Movie Start. Flash Movie End."
WE 7.01: completely ignored
Test 2: "Make movie accessible" on, "Make child objects accessible" off
Object Content
Expected
Read movie name and movie description
Results
JAWS 10: "Flash Movie Start. Flash Movie End."
WE 7.01: completely ignored
Test 3: Default ("Make movie accessible" & "Make child objects accessible" on)
Object Content
Expected
Read movie name, movie description, movieclip name, movieclip description
Results
JAWS 10: "Flash Movie Start. Graphic, Flash MovieClip Description. Flash Movie End."
WE 7.01: "Flash MovieClip Name. Flash MovieClip Description."
Test 4: wmode = window (default)
Object Content
Expected
Read movie name, movie description, movieclip name, movieclip description
Results
JAWS 10: "Flash Movie Start. Graphic, Flash MovieClip Description. Flash Movie End."
WE 7.01: "Flash MovieClip Name. Flash MovieClip Description."
Test 5: wmode = opaque
Object Content
Expected
Read movie name, movie description, movieclip name, movieclip description (or, at least, read object content)
Results
JAWS 10: completely ignored
WE 7.01: "Object content."
Test 6: wmode = transparent
Object Content
Expected
Read movie name, movie description, movieclip name, movieclip description (or, at least, read object content)
Results
JAWS 10: completely ignored
WE 7.01: "Object content."
Test 7: Missing movie/data file
Object Content
Expected
Read object content
Results
JAWS 10: "Flash Movie Start. Flash Movie End."
WE 7.01: completely ignored
Test 8: Unknown classid/type (e.g., as if Flash Player not installed)
Object Content
Expected
Read object content
Results
JAWS 10: "Object content."
WE 7.01: "Object content."
Conclusions
With JAWS, object content does not serve as "alternate text" -- it is read only if the Flash Player is not installed, but not if the Flash object is inaccessible for other reasons. (Window-Eyes is somewhat better, also reading object content if wmode is set to opaque or transparent, but still not if the Flash movie is inaccessible for other reasons.)
Setting wmode to opaque or transparent (which is done in the HTML using a param element), will supress any accessibility information in the Flash movie. Window-Eyes reads object content in these cases, but JAWS ignores the object completely.
Neither screen reader read the Flash Movie Name or Description, but both read the MovieClip (child object) Name and Description. If both Name and Description are used, Window-Eyes reads both, but JAWS reads only Description.
To support both screen readers, only two scenarios seem to be workable:
Decorative Flash that does not require alternate content (in which case nothing should be included in the object content)
Accessible Flash, with all alternate content provided using child object (not movie) name or descriptions, and with wmode omitted or set to window (the default)