The flash satay method has become a widely used technique for embedding flash into valid XHTML documents. However, even current builds of Mozilla Firefox (at the time of writing, version 1.0.4) seem to have a problem which can have a serious impact on accessibility: flash content embedded this way swallows the tab focus, making it impossible to proceed beyond the movie when using keyboard navigation.
Of course, the core issue of embedded flash stealing focus is not new, but the fact that satay triggers this in Firefox - when Gecko based browsers have, up to now, been known to simply skip flash movies when tabbing, which was another issue in itself - is a novel and annoying variation, particularly when flash is used purely for decorative effects rather than functional page elements.
This first movie has been embedded with the traditional, clunky and invalid nested object and embed method. It does not contain any controls, so should not grab the browser's focus at all.
Notice that, even in Firefox, it is possible to tab to the following dummy link. Now, the exact same movie, added via the satay method:
This time, it's impossible to tab beyond the movie to reach this second dummy link.
Certainly, this is a bug in Firefox, and by no means a shortcoming of the flash satay method itself. However, it's worth keeping this issue in mind when trying to create accessible sites. A quandary for web developers at this stage: use satay to create valid XHTML, knowingly breaking keyboard navigation in Firefox, or use the traditional embedding method, thus having to live with either invalid XHTML or reverting back to plain HTML?
Jason Davis suggested a CSS fix:
object[type="application/x-shockwave-flash"] { -moz-user-focus: ignore; }
This seems to work fine as a temporary workaround, particularly for flash animations which are purely decorative. Kudos!