Closed Bug 281545 Opened 20 years ago Closed 19 years ago

Tab cycle problems in Page Setup dialog

Categories

(Firefox :: Keyboard Navigation, defect, P2)

x86
Windows XP
defect

Tracking

()

RESOLVED FIXED

People

(Reporter: aaronlev, Assigned: aaronlev)

References

Details

(Keywords: access, helpwanted)

Attachments

(1 file)

There are a number of problems with the page setup dialog:
1. The tab key does not cycle past the radio group in the "format & options" tab
   Similarly, shift+tab does not cycle backward to the radio group
2. The tab key does not cycle past the "margins & header/footer" tab
   Similarly, shift+tab has strange behavior in this panel
3. As the user tabs to the radio group in the first tab, an MSAA focus event is
fired for the group but not for the first radio button.
Priority: -- → P2
Component: Disability Access → Printing
Product: Firefox → Toolkit
*** Bug 284400 has been marked as a duplicate of this bug. ***
I think it's not a Toolkit->Printing bug.
Should be somthing to do with tab focus.
I found it's a regression of bug 250006.
Depends on: 250006
Component: Printing → Keyboard Navigation
Product: Toolkit → Firefox
Ginn, do you know what the fix is?
(In reply to comment #3)
> Ginn, do you know what the fix is?

I'd no time to look into patch of bug 250006 yet.
But backing out it can resolve this problem.
Ginn, I will look at this. But, can you tell me how you knew it was bug 250006
that caused it? Do you know any clues at all to help me?
(In reply to comment #5)
> Ginn, I will look at this. But, can you tell me how you knew it was bug 250006
> that caused it? Do you know any clues at all to help me?

Check out code with -D 2004.07.24.22.00.00
Build it, it's broken.
Back out the patch of bug 250006 and rebuild, it works well.
It appears that the strange repeated use of tabindex="1" in the page setup
dialog is exposing some problem in the checkin to bug 250006.

This is a problem in both Seamonkey and Firefox.

The original tabindex usage was added by Bill Law in bug 113727. He wrote "I
also added tabindex= attributes to fix the tabbing.  That still doesn't quite
work correctly due to residual bugs elsewhere." No further explanation as to why
tabindex was needed.

We need to remove the superfluous tabindex usage but we should also find out why
the tabindex="1" is removing some items from the tab order. Perhaps a separate
bug should be filed on that issue.
You'll find that just removing tabindex will break header/footer order as the
XUL actually defines them in column major order instead of row major order. This
could be fixed by rewriting the code to use a grid.
A possible issue is that SendFocusBlur assumes that once tabbing is successful,
the tabbed to element's tabindex attribute is accurate (or empty for zero).

However the major issue is that none of our xbl bindings implements
nsIDOMXULControlElement's tabIndex attribute.
Spun off bug 286079 on XUL tabindex not working in general.
Comment on attachment 177369 [details] [diff] [review]
Use grid for page setup, remove tabindex, and create accessible names for label-less combo boxes

>+              <textbox id="topInput" size="5" oninput="changeMargin(this)" onfocus="this.select()"/>
You might like to remove these onfocus="this.select()" as well.

>+              <row>
>+                <vbox align="center">
>+                  <label value="&hfLeft.label;"/>
>+                </vbox>
>+                <vbox align="center">
>+                  <label value="&hfCenter.label;"/>
>+                </vbox>
>+                <vbox align="center">
>+                  <label value="&hfRight.label;"/>
>+                </vbox>
>+              </row>
I'm sure there should be some way of simplifying this, either <row
pack="center"> or <column align="center"> or <label align="center">. But none
of them work :-(
Attachment #177369 - Flags: superreview?(neil.parkwaycc.co.uk) → superreview+
Attachment #177369 - Flags: review+
Enter passphrase for key '/home/aleventhal/.ssh/id_dsa':                       
                                             Checking in
xpfe/global/resources/content/printPageSetup.xul;                              
                                
/cvsroot/mozilla/xpfe/global/resources/content/printPageSetup.xul,v  <-- 
printPageSetup.xul                                 new revision: 1.14; previous
revision: 1.13                                                                 
                done                                                           
                                                             Checking in
xpfe/global/resources/locale/en-US/printPageSetup.dtd;                         
                                
/cvsroot/mozilla/xpfe/global/resources/locale/en-US/printPageSetup.dtd,v  <-- 
printPageSetup.dtd                            new revision: 1.5; previous
revision: 1.4                                                                  
                 done                                                          
                                                              Checking in
toolkit/components/printing/content/printPageSetup.xul;                        
                                
/cvsroot/mozilla/toolkit/components/printing/content/printPageSetup.xul,v  <-- 
printPageSetup.xul                           new revision: 1.7; previous
revision: 1.6                                                                  
                 done                                                          
                                                              Checking in
toolkit/locales/en-US/chrome/global/printPageSetup.dtd;                        
                                
/cvsroot/mozilla/toolkit/locales/en-US/chrome/global/printPageSetup.dtd,v  <-- 
printPageSetup.dtd                           new revision: 1.3; previous
revision: 1.2                                                                  
                 done                                                          
                                                              
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
the fix for this bug partly broke bug 180628. adding Aaron to cc.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: