Closed Bug 309704 Opened 19 years ago Closed 19 years ago

Keyboard-only users get stuck in plugins ( applet/embed should only be focusable, not tabbable)

Categories

(Core :: DOM: UI Events & Focus Handling, defect)

defect
Not set
normal

Tracking

()

VERIFIED FIXED
mozilla1.8beta5

People

(Reporter: aaronlev, Assigned: aaronlev)

References

Details

(Keywords: access, regression, verified1.8, Whiteboard: Was fixed in the 9/30 build)

Attachments

(2 files, 1 obsolete file)

Right now keyboard only-users can get themselves in trouble by tabbing into a
plugin. For example, on http://www.macromedia.com you can tab in and then you go
keydead in Firefox. At that point you can't even close the app with the keyboard.

Eventually we want the tabbable contents of plugins to be in the tab order, but
not the <embed> or <applet> object itself. That is how things work in IE, where
the tab navigation story with plugins is working correctly.

So there are 2 reasons to remove them from the tab order:
1. It will keep keyboard-only useres from going into a keydead state
2. There is no reason to have the plugin itself be in the tab order -- just the
contents in it may need to be able to take focus or be tabbable.
At one point this is how we acted but we weren't allowing focus even via click.
When that was fixed via bug 257488 it also caused the keydead problem to appear
(or reappear I'm not sure anymore).
Flags: blocking1.8b5?
Hardware: PC → All
Component: Keyboard: Find as you Type → Keyboard: Navigation
Attachment #197129 - Attachment is obsolete: true
Not sure if all of them even need tabindex = -1 ...

Do the sharedobjectelement and sharedelement only get instantiated by the
plugin? Are they inner objects within the object/applet? I'm not sure how that
code works. If my guess is correct, I would think only the inner ones would
need tabindex -1 so that they're focusable. Please advise.
Attachment #197135 - Flags: superreview?(jst)
Attachment #197135 - Flags: review?(bzbarsky)
Regression -- this wasn't a problem in Firefox 1.0.x
Keywords: regression
Summary: Make applet/embed should only be focusable, not tabbable → Keyboard-only useres get stuck in plugins (Make applet/embed should only be focusable, not tabbable)
Comment on attachment 197135 [details] [diff] [review]
Default tabindex of -1 for applet, object, sharedobjectelement and sharedelement. Makes them focusable but not tabbable.

Why not just use NS_IMPL_INT_ATTR then?
Attachment #197135 - Flags: superreview?(jst)
Attachment #197135 - Flags: review?(bzbarsky)
Bz, here you go, but in a way I like explicitly specifying what the default
value is because it's just as good as a comment. It compiles to the same
machine code.
Attachment #197174 - Flags: superreview?(jst)
Attachment #197174 - Flags: review?(bryner)
Attachment #197174 - Flags: review?(bryner) → review+
Flags: blocking1.8b5? → blocking1.8b5+
Summary: Keyboard-only useres get stuck in plugins (Make applet/embed should only be focusable, not tabbable) → Keyboard-only users get stuck in plugins ( applet/embed should only be focusable, not tabbable)
Whiteboard: [ETA: needs review jst ]
Target Milestone: --- → mozilla1.8beta5
Attachment #197174 - Flags: superreview?(jst) → superreview?(bzbarsky)
Attachment #197174 - Flags: superreview?(bzbarsky) → superreview+
Attachment #197174 - Flags: approval1.8b5?
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
Whiteboard: [ETA: needs review jst ] → [ETA: needs approval ]
Can we get trunk verification on this?
Keywords: qawanted
Attachment #197174 - Flags: approval1.8b5? → approval1.8b5+
Keywords: fixed1.8
As of 0930 Firefox builds this is working on Linux but still broken on Mac and
Windows.  As tested on Linux 1.4, Windows 1.4 and Mac trunk. 
Status: RESOLVED → REOPENED
Keywords: fixed1.8
Resolution: FIXED → ---
Aaron, this bug is seriously at risk for not making 1.5. 
Keywords: fixed1.8
Whiteboard: [ETA: needs approval ] → Was fixed in the 9/30 build
Depends on: 310626
Keywords: fixed1.8, qawanted
Keywords: fixed1.8
QA: has this gotten any better in todays build given the fix from 310626? 

If this is still broken on Windows and Linux, we may back it out to fix Bug 311111
Keywords: qawanted
Using today's branch build, Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.8b5) Gecko/20051004 Firefox/1.4.1, this doesn' seem to work in better. On
the Macromedia site, I still get stuck in the plugin and am unable to tab out of
it. On to check Mac next - Tracy indicated that this did work in Linux but was
broken on Windows and Mac.
This WFM as expected on OS X 10.4 with Mozilla/5.0 (Macintosh; U; PPC Mac OS X
Mach-O; en-US; rv:1.8b5) Gecko/20051004 Firefox/1.4.1.

I have full keyboard access on and used weather.com as a test. We do get stuck
in the Flash if the user has clicked their first, but I'm told that's the
expected behavior.
Samuel, what do you mean by this works as exepected? If you use a 9/23 build and
compare it todays build, you see the same behavior, that is getting stuck in the
plugin?
(In reply to comment #13)
> Samuel, what do you mean by this works as exepected? If you use a 9/23 build and
> compare it todays build, you see the same behavior, that is getting stuck in the
> plugin?

No, I see two different behaviors. In the Mac branch build from 9/23, we tab
into the plugin and get stuck. In the 10/4 branch build, we ignore the plugin
and tab around it, never getting stuck in it. The only time we get stuck in the
plugin is if a user click (with their mouse) in the plugin and tabs back and forth.
On Windows, using the 09/23 and a 10/04 build, I see the same behavior when
going to macromedia. In both builds, I can tab around the plugin on the front
page but can't tab out of the plugin. And I'm key dead, I can't do alt-f to
bring up the file menu, etc. As such, I don't think backing out this patch is
going to make this issue any worse for Windows and Mac, and it would fix the
regression.
This patch wasn't intended to allow you to tab out of a plugin that's already
gotten focus, it was intended to prevent keyboard-only users from tabbing into a
plugin in the first place.  If you manage to focus the plugin by other means
(mouse click), you'll go key-dead.
I see the same behavior on Windows using the 10/4 branch build as I do on Mac.
This is the desired behavior of this bug/patch.

This bug should be re-closed as FIXED.
(In reply to comment #17)
> I see the same behavior on Windows using the 10/4 branch build as I do on Mac.
> This is the desired behavior of this bug/patch.
> 
> This bug should be re-closed as FIXED.

Hmmm, using a 9/23 build I can't tab into a plugin using just the keyboard. Same
with the 10/04 (i.e with or without this patch). I'm clicking in the content
window (not the plugin) and then hitting tab and it starts tabbing through the
HTML elements but not the plugin. 

(In reply to comment #18)
> Hmmm, using a 9/23 build I can't tab into a plugin using just the keyboard. Same
> with the 10/04 (i.e with or without this patch). I'm clicking in the content
> window (not the plugin) and then hitting tab and it starts tabbing through the
> HTML elements but not the plugin. 
> 
> 

Using the 9/23 branch build of FF/Win, I do the following to reproduce the bad
behavior:

1. Surf to weather.com
2. Place the cursor in the location bar (if it wasn't already)
3. Tab ~25 times

On about the 25th time (depending on if you got a pop-up or not), my cursor is
in the Flash animation which is titled "Play Ball!". I am unable to get the
cursor out of it.

Following the same steps with the 10/4 build results in me being past the Flash
and still tabbing on content.
I am seeing what Scott sees on the mac, using the 9/23 build I can't tab
directly into the plugin (Macromedia site) and get in the stuck state.  It would
be helpful to understand exactly what the expected behavior is here so we can
test this on all three platforms using various plugins just to verify that it is
in fact fixed.  Thanks.
For the record, I get stuck in Flash on macromedia.com within 4-5 tabs from the
location bar in FF/Win/Branch from 9/23.

Also: I'm testing on weather.com mainly because macromedia.com is broken in the
10/4 official nightlies.
Samuel and I spent some time on IRC and I can confirm that the behavior now
differs between the 092305 build and today's branch build on the weather.com
site. I was testing on Mac 10.4.2 and see that in today's build I don't get hung
up in that one area.

(In reply to comment #19)
> (In reply to comment #18)
> > Hmmm, using a 9/23 build I can't tab into a plugin using just the keyboard. Same
> > with the 10/04 (i.e with or without this patch). I'm clicking in the content
> > window (not the plugin) and then hitting tab and it starts tabbing through the
> > HTML elements but not the plugin. 
> > 
> > 
> 
> Using the 9/23 branch build of FF/Win, I do the following to reproduce the bad
> behavior:
> 
> 1. Surf to weather.com
> 2. Place the cursor in the location bar (if it wasn't already)
> 3. Tab ~25 times
> 
> On about the 25th time (depending on if you got a pop-up or not), my cursor is
> in the Flash animation which is titled "Play Ball!". I am unable to get the
> cursor out of it.
> 
> Following the same steps with the 10/4 build results in me being past the Flash
> and still tabbing on content.

Resolving FIXED per comment 22.
Status: REOPENED → RESOLVED
Closed: 19 years ago19 years ago
Resolution: --- → FIXED
comment 16 clarifies this bug to me.  
Tested with the 1.4.1 builds of 2005-10-04-18-mozilla1.8 on Win, Mac and Linux

able to tab around flash plugin.  VERIFIED FIXED

Is there a bug open for not being able to tab out of the flash plugin content?
Status: RESOLVED → VERIFIED
Component: Keyboard: Navigation → User events and focus handling
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: