E-mail List Archives
Thread: XHTML tab order and Flash
Number of posts in this thread: 23 (In chronological order)
From: Steven Henderson
Date: Tue, Aug 18 2009 4:55AM
Subject: XHTML tab order and Flash
No previous message | Next message →
Hello all,
I am hoping that somebody here could help me with a theoretical Flash issue
that I have.
Having read about and deployed a fair amount of accessible XHTML there is a
big grey area that I see with Flash. I understand using techniques such as
swfobject allow graceful Flash features to be available in place of XHTML,
which is great for screen readers or non-Flash users as they won't need to
know Flash is there (Flash visually pimps what is available to everyone else
in XHTML).
Now, my query is, where do people with mobility difficulties fit into the
picture? Tabbing an XHTML page will skip Flash objects from my experience
... but in my view, people with mobility difficulties are just as likely to
be visually capable as your stereotypical Flash users, thus they would
surely engage with the page using a form of tabbing? And if so, what
advantages does swfobject or other accessible Flash solutions offer these
people? As under these circumstances, they would have to find another way to
engage with a Flash feature, or would they?
I would be very interested in other people's opinions and experiences with
mobility users regarding mixed XHTML/Flash content.
Steven
From: Andrew Kirkpatrick
Date: Tue, Aug 18 2009 7:55AM
Subject: Re: XHTML tab order and Flash
← Previous message | Next message →
Having read about and deployed a fair amount of accessible XHTML there is a
big grey area that I see with Flash. I understand using techniques such as
swfobject allow graceful Flash features to be available in place of XHTML,
which is great for screen readers or non-Flash users as they won't need to
know Flash is there (Flash visually pimps what is available to everyone else
in XHTML).
The use of sIFR or other similar replacement techniques can be used successfully and is most easily done so when the goal is just to offer a bunch of text, except in a specific font that isn't normally available.
If you start including interactive elements in the SWF, you absolutely need to ensure that the Flash is keyboard accessible. This is easy to accomplish, but can't be left up to chance - you need to make sure to define the tab order and reading order carefully.
Try the example posted with this blog entry to see how it works from the keyboard for you: http://blogs.adobe.com/accessibility/2009/04/firefox_focus_and_actual_links_1.html
Hope this helps,
AWK
Now, my query is, where do people with mobility difficulties fit into the
picture? Tabbing an XHTML page will skip Flash objects from my experience
... but in my view, people with mobility difficulties are just as likely to
be visually capable as your stereotypical Flash users, thus they would
surely engage with the page using a form of tabbing? And if so, what
advantages does swfobject or other accessible Flash solutions offer these
people? As under these circumstances, they would have to find another way to
engage with a Flash feature, or would they?
I would be very interested in other people's opinions and experiences with
mobility users regarding mixed XHTML/Flash content.
Steven
From: deblist
Date: Tue, Aug 18 2009 8:05AM
Subject: Re: XHTML tab order and Flash
← Previous message | Next message →
On Tue, 18 Aug 2009, Andrew Kirkpatrick wrote:
> Try the example posted with this blog entry to see how it works from the keyboard for you: http://blogs.adobe.com/accessibility/2009/04/firefox_focus_and_actual_links_1.html
Navigating with Dragon NaturallySpeaking emulating the keyboard
and Firefox 3, I have mixed result with that demo. On the one
hand, as soon as I load the example I have some keyboard focus:
I can tab to individual elements although of course I don't have
my usual direct selection options (search-ahead and mouseless
browsing).
But once I follow one of the links and then go back in my browser
to the Flash demo, I've lost my keyboard focus. Not only can I no
longer tab to the individual links, but I can no longer manage my
browser (e.g. by going back in a tab) until I do the usual Flash
escape of emulating mouse clicks outside of the flash page in
order to get money keyboard focus back.
In other words, in my experience, "accessible Flash" still really
isn't.
-deborah
From: Andrew Kirkpatrick
Date: Tue, Aug 18 2009 8:10AM
Subject: Re: XHTML tab order and Flash
← Previous message | Next message →
Jim, go check out the demo I sent the link to.
Deb, what you are describing isn't my experience. I'm interested in learning more about how you get the described behavior to occur. Can you send me a really detailed set of steps to follow?
Thanks,
AWK
Andrew Kirkpatrick
Senior Product Manager, Accessibility
Adobe Systems
= EMAIL ADDRESS REMOVED =
From: Jim Allan
Date: Tue, Aug 18 2009 8:15AM
Subject: Re: XHTML tab order and Flash
← Previous message | Next message →
In my experience, using IE (5?, 6, 7, 8) a user can tab into and out of a
flash object or other embedded objects. IE passes control to flash and takes
it back. Firefox has a known since version 1 that keyboard users cannot gain
access to flash or other embedded objects (quicktime, other video players).
When tabbing in FF these object are skipped.
Jim
>
From: Steven Henderson
Date: Tue, Aug 18 2009 8:30AM
Subject: Re: XHTML tab order and Flash
← Previous message | Next message →
Funnily enough Jim, I used to test in IE first, but with all of IE's
accessibility shortcomings have not noticed that the tab issue is in Firefox
(which I use by default these days).
This makes the whole issue even more of a conundrum ... would people that
would truely benefit from accessible design, in fact use IE? That said, of
course I make provisions to cater for IE users, just hadn't paid attention
to how tabbing differs between browsers ... I recall Mac's having their own
issue with random tab support last year too, which is one of many reasons I
myself don't define tab ordering as Andrew suggested.
That said, Andrew, I agree with making Flash items themselves keyboard
accessible but that is a separate issue with its own problems and as such I
want to concentrate on the scenario of tabbing from HTML to Flash. Taking
your example of sIFR though, I don't recall coming across an example that
supports tabbing between XHTML and Flash ... least not that works with
Firefox. That adobe link you sent too, doesn't that just deal with the tab
focus range 'once inside Flash'? I had come across documentation on this
issue, but I'm primarily concerned about how to ensure that users can tab
'into' a Flash item before letting them out.
Darn, this has so many levels to worry about that it is almost making me
consider ditching some Flash features I had in mind.
That said, I believe Firefox users are more likely to update their browser
than IE users, so the question is how/when can we ensure Firefox users can
tab into Flash ... there is too much concentration at the moment to assume
that users can 'click into' Flash items to take advantage of Flash's
accessibility offerings ... a real oversight in opinion.
Thanks for your thoughts guys ... it's given me a few more things to think
about.
Steven
From: Andrew Kirkpatrick
Date: Tue, Aug 18 2009 8:50AM
Subject: Re: XHTML tab order and Flash
← Previous message | Next message →
That said, Andrew, I agree with making Flash items themselves keyboard
accessible but that is a separate issue with its own problems and as such I
want to concentrate on the scenario of tabbing from HTML to Flash. Taking
your example of sIFR though, I don't recall coming across an example that
supports tabbing between XHTML and Flash ... least not that works with
Firefox. That adobe link you sent too, doesn't that just deal with the tab
focus range 'once inside Flash'? I had come across documentation on this
issue, but I'm primarily concerned about how to ensure that users can tab
'into' a Flash item before letting them out.
The example does not have HTML links on the same page, but it could and you would be able to tab between the HTML and Flash content in Firefox as you can in IE.
tab into Flash ... there is too much concentration at the moment to assume
that users can 'click into' Flash items to take advantage of Flash's
accessibility offerings ... a real oversight in opinion.
Clicking into the flash content isn't necessary.
AWK
From: Steven Henderson
Date: Tue, Aug 18 2009 8:55AM
Subject: Re: XHTML tab order and Flash
← Previous message | Next message →
Andrew, so far, I am glad to see an example of the tab working.
However, any ideas as to why in Firefox, Flash receives the tab focus before
XHTML links on the page, even though they are higher up in the markup? If I
could overcome this, I would be much happier in experimenting some more.
Steven
From: Steven Henderson
Date: Tue, Aug 18 2009 9:00AM
Subject: Re: XHTML tab order and Flash
← Previous message | Next message →
In Firefox, I too am getting unreliable tab ordering with AccLinkExample
(for my purposes, I have modified it as below, to emulate a real-world
XHTML/Flash scenario).
Taking my example, in Firefox, further illustrates the seemingly random tab
ordering. Once the Flash object is in focus, the Flash links tab fine, then
the XHTML links come after the Flash object ... but this concludes that
XHTML and Flash can be tabbed between ... just don't know how much work (if
possible) would be required to develop a logical tab order that would work
across browsers too. I am going to play with the example some more.
My AccLinkExample modification:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- saved from url=(0014)about:internet -->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>AccLinkExample</title>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
<style type="text/css" media="screen">
#AccLinkExample { height:300; }
body {
margin:0; padding:0; overflow:hidden; }
</style>
<script type="text/javascript"
src="swfobject_2_1.js"></script>
<script type="text/javascript">
var flashvars = {};
var params = {};
params.scale = "noscale";
params.salign = "tl";
var attributes = {};
attributes.id = "AccLinkExampleSWF";
attributes.name = "AccLinkExampleSWF";
attributes.tabindex = "4";
swfobject.embedSWF("AccLinkExample.swf",
"AccLinkExample", "100%", "300", "9.0.0", "expressInstall.swf", flashvars,
params, attributes);
</script>
</head>
<body>
<h1>Demo page</h1>
<div>
<a href="#1">Link 1</a>
</div>
<div id="AccLinkExample">
<a href="http://www.adobe.com/go/getflashplayer">
<img
src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gi
f" alt="Get Adobe Flash player" />
</a>
</div>
<div><a href="#4">Link 5</a></div>
</body>
</html>
From: Benjamin Hawkes-Lewis
Date: Tue, Aug 18 2009 9:10AM
Subject: Re: XHTML tab order and Flash
← Previous message | Next message →
On 18/08/2009 15:54, Steven Henderson wrote:
> However, any ideas as to why in Firefox, Flash receives the tab focus before
> XHTML links on the page, even though they are higher up in the markup?
IIRC the Flash focus script works by setting "tabindex" attributes.
Per the HTML spec, links with an explicit "tabindex" receive focus
before links without "tabindex".
--
Benjamin Hawkes-Lewis
From: Steven Henderson
Date: Tue, Aug 18 2009 9:15AM
Subject: Re: XHTML tab order and Flash
← Previous message | Next message →
Fantastic, Benjamin.
I now notice the tabindex attribute in the example. Hope this proves to be a
fruitful development.
Steven
From: deblist
Date: Tue, Aug 18 2009 9:20AM
Subject: Re: XHTML tab order and Flash
← Previous message | Next message →
On Tue, 18 Aug 2009, Andrew Kirkpatrick wrote:
> Deb, what you are describing isn't my experience. I'm interested in learning more about how you get the described behavior to occur. Can you send me a really detailed set of steps to follow?
Sure. Anything to help make the accessibility more functional.
In Firefox (3.0.13), I load the link you included.
Using Mouseless Browsing, I follow the link to "demonstration
test file".
I see a page which says:
"Adobe Flash CS 4 Professional Accessibility
Adobe Accessibility Blog
AccLinkExample Source Code"
Centered, in blue, on a white page, with no clear outline of a
Flash element.
Now I get a really interesting behavior. Immediately upon loading
the page, I still have access to all of my keyboard accelerators
(for example, saying the number of a tab for Mouseless Browsing,
or saying "control L" to get to the address field). However, if I
go to another tab and then immediately return to the Flash tab
(using Mouseless Browsing, saying the number of another tab and
then saying the number of the tab with the Flash demo) I lose all
access to my keyboard accelerators and can no longer use any of
them. However, I can still use the Firefox direct dictation
access to elements in the Navigation toolbar, for example, saying
"Back". If I go backwards by saying "Back" and then forward again
by either saying "Forward" or by accessing the link again, the
behavior reset and once again I can see the Flash demo while
retaining my keyboard access.
What I find on further investigation is that when I am in the
state where I have keyboard access (which I can reliably
re-create by saying "Back" and then "Forward"), I do not have
keyboard access to the Flash. When I am in the state where I have
no keyboard access (which I can reliably re-create by switching
to another tab and then returning), I do have keyboard access to
the Flash. Following a link from the Flash and then returning (by
saying "Back") reliably puts me in the state where I do not have
keyboard access to the Flash, and you have keyboard access to the
browser.
I'm not sure if this is reproducible without Dragon
NaturallySpeaking, so I'm happy to send you a screen cast of me
doing it if that would help.
-deborah
From: Steven Henderson
Date: Tue, Aug 18 2009 9:25AM
Subject: Re: XHTML tab order and Flash
← Previous message | Next message →
I am using the same Firefox version as Deb, but am not using a screen reader
or aid of any sort.
I too however, lose control of the tab when I proceed to the Flash object
(no visual indicator that the Flash object is in focus) ... rather than
tabbing from the previous tabindex in the html to the first Flash link, it
would appear the first tab to Flash does not proceed to select the first
Flash link as it does in IE. Perhaps this is similar to what Deb is
experiencing.
Now this would be fine I think, but only if an indication could be sent to
Firefox users (visual or verbal) that the Flash object is now in focus.
Anybody know how to overcome this problem?
Steven
From: Andrew Kirkpatrick
Date: Tue, Aug 18 2009 9:30AM
Subject: Re: XHTML tab order and Flash
← Previous message | Next message →
Exactly, thanks Benjamin.
Thanks,
AWK
Andrew Kirkpatrick
Senior Product Manager, Accessibility
Adobe Systems
= EMAIL ADDRESS REMOVED =
From: Steven Henderson
Date: Tue, Aug 18 2009 9:45AM
Subject: Re: XHTML tab order and Flash
← Previous message | Next message →
Having played with this a bit more, it is apparent that the tabindex
attribute is paramount to taming (or controlling) the tab order with Flash
and XHTML, which is a real shame because it would only really work for small
pages where each link can be assigned a carefully assigned tabindex ... not
likely in this age of blogs and CMS systems to be entirely achievable.
Shame really, as the only alternative is to place Flash items higher in the
source code to reduce usability complications with tabindex getting out of
hand in larger pages. This is not going to be ideal in most cases I feel.
Steven
From: Andrew Kirkpatrick
Date: Tue, Aug 18 2009 11:10AM
Subject: Re: XHTML tab order and Flash
← Previous message | Next message →
I added an additional example to the blog entry at http://blogs.adobe.com/accessibility/2009/04/firefox_focus_and_actual_links_1.html. There is now a link to a page with HTML content before and after the Flash content.
Just so you know, this example does use the tabindex attribute, but the script that is invoked by the Flash content and the tabindex attributes and values are added dynamically. If you are doing additional scripting work that does similar things then you'll want to make sure that there are no conflicts, but that isn't a surprise when integrating multiple scripts.
The extra tab that you're noticing just before and after the Flash content when using Firefox is a generated link in the HTML that helps mediate the focus getting to the Flash content. I agree that it isn't ideal, but it is part of the solution we have here to get around the problem in getting focus passed between Firefox and Flash player.
Hope this helps.
Thanks,
AWK
Andrew Kirkpatrick
Senior Product Manager, Accessibility
Adobe Systems
= EMAIL ADDRESS REMOVED =
From: Steven Henderson
Date: Wed, Aug 19 2009 2:15AM
Subject: Re: XHTML tab order and Flash
← Previous message | Next message →
Hi Andrew,
Much preferring the new HTML/Flash demo.
Not sure if I got the right link, but the following example DOESN'T tab
between the HTML links and the Flash links, as it did before (just skips
Flash altogether - in Firefox, but works in IE):
http://blogs.adobe.com/accessibility/assets/acclinkexample/index2.html
Is it perhaps because the tabindex isn't being added dynamically as
expected?
Steven
From: Andrew Kirkpatrick
Date: Wed, Aug 19 2009 6:40AM
Subject: Re: XHTML tab order and Flash
← Previous message | Next message →
What version are you using?
Thanks,
AWK
Andrew Kirkpatrick
Senior Product Manager, Accessibility
Adobe Systems
= EMAIL ADDRESS REMOVED =
From: Steven Henderson
Date: Wed, Aug 19 2009 7:40AM
Subject: Re: XHTML tab order and Flash
← Previous message | Next message →
Hi Andrew,
I'm using Firefox 3.0.13 and forgive my stupidity, but it does work ... I
just had javascript turned off and assumed it was on because I could still
see the Flash object.
I really like how the Flash object highlights when it is entered now ... is
there a way to change the styling of the Flash focus? As that would be
really handy for ensuring consistent styling with other focus links.
Steven
From: Andrew Kirkpatrick
Date: Wed, Aug 19 2009 7:55AM
Subject: Re: XHTML tab order and Flash
← Previous message | Next message →
Changing the styling would be done in the SWF file, and yes, you could mimic the link focus styling in any browser, but you can't easily make it different when it appears in different browsers. Making the focused state appear with a dotted line just requires some design work in Flash Authoring.
Thanks,
AWK
Andrew Kirkpatrick
Senior Product Manager, Accessibility
Adobe Systems
= EMAIL ADDRESS REMOVED =
From: Steven Henderson
Date: Wed, Aug 19 2009 10:30AM
Subject: Re: XHTML tab order and Flash
← Previous message | Next message →
Andrew, the Flash object isn't display in Safari 3.1.2 or Google Chrome
2.0.172 on the PC.
I assume this is because of the method used to make Firefox behave itself?
Are there plans to ensure this works across as many of the main browsers as
possible? Particularly Safari (for Mac I would think) and Google Chrome
(being that it is inevitable that it will pick up popularity).
Steven
From: Andrew Kirkpatrick
Date: Wed, Aug 19 2009 7:25PM
Subject: Re: XHTML tab order and Flash
← Previous message | Next message →
I'm not sure - I'll have to investigate.
Can anyone else verify that the Flash content doesn't display in Safari 3.1.2 or Google Chrome 2.0.172? I'm not in QA so I don't have every browser on my system... :)
Thanks,
AWK
Andrew Kirkpatrick
Senior Product Manager, Accessibility
Adobe Systems
= EMAIL ADDRESS REMOVED =
From: Steven Henderson
Date: Wed, Sep 09 2009 3:00AM
Subject: Re: XHTML tab order and Flash
← Previous message | No next message
I've been hacking my head around how they've done it, but webcredible seem
to have a much tighter tab setup. Check it out: http://www.webcredible.co.uk
- check out how tabbing to and from, the main nav banner works.
The flash/html tab integration is almost seemless, apart from just the 'one'
extra tab to select the flash object (appears that this is presently
unavoidable in their method too).
After a few basic local tests, the only con appears to be that the tabindex
seems to be hardest to 2 (no matter where I put the tabindex in the
document, the second tab will always activate the flash nav banner).
Assuming that this is set in either the js file or flash movie, I can see it
working great for many sites that can make use of a defined tabindex
(especially where there is one main flash object that needs tab
integration).
Now, if only I could wrap my head around how they've tightened the tab
process, then merge both methods together to create an uber-method.
Steven