Closed
Bug 333833
Opened 19 years ago
Closed 19 years ago
Image buttons in Firefox Pref dialog can't be grabbed by GOK
Categories
(Firefox :: Disability Access, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: ginnchen+exoracle, Assigned: ginnchen+exoracle)
References
Details
(Keywords: access, fixed1.8.1)
Attachments
(1 file, 1 obsolete file)
2.44 KB,
patch
|
aaronlev
:
review+
neil
:
superreview+
aaronlev
:
approval-branch-1.8.1+
|
Details | Diff | Splinter Review |
1) Open Firefox pref dialog.
2) Use GOK to UI grab.
Result:
Image buttons (General, Privacy, Content, Tabs, Downloads, Advanced) are not grabbed.
I don't know if it regresses Bug 302359.
To use XULRadioButton is more reasonable.
Attachment #218393 -
Flags: review?(aaronleventhal)
Comment 2•19 years ago
|
||
Comment on attachment 218393 [details] [diff] [review]
patch
Hmm we should never override GetFinalRole() -- we can override GetRole() but not GetFinalRole(). The idea of GetFinalRole() is that someoen can override something's role with a dhtml role in markup.
Hmm we should never override GetFinalRole() -- we can override GetRole() but not GetFinalRole(). The idea of GetFinalRole() is that someoen can override something's role with a dhtml role in markup.
People were confused by getting radio buttons there but list items made sense. Can't GOK grab list items?
Attachment #218393 -
Flags: review?(aaronleventhal) → review-
OK, I found Bug 286145.
GOK can grab list items.
We're faking xulradiobutton/xulradiogroup to listitem/list here.
It has a problem.
I'll try to identify it.
Assignee: nobody → ginn.chen
Aaron,
1) The problem I found is nsXULRadioGroupAccessible doesn't implement nsXULSelecctableAccessible
2) After the fix, the pane is grabbed as a list, user has to click "list", and then click a pane button, then click "back", next click "UI Grab" again.
It introduces more clicks than the radiogroup/radiobutton solution.
Do you think it's OK?
Status: NEW → ASSIGNED
Comment 5•19 years ago
|
||
Ginn, it's really a flaw in how we implement DHTML accessibility. If something has xhtml2:role="wairole:list", it should support the selection API. We need to think about how to do that.
It would be strange to call them radio buttons because radio buttons don't usually change what the content pane holds. I have seen lists do that. We used to call them radio buttons but it confused users.
The right way to do this might be to make it a real XUL listbox with listitems or whatever, instead of using XHTML2:role.
If more clicks are not a problem, I agree we can use a real XUL list box instead of XHTML2:role.
I think we should also give "prefpane" an accessible name instead of "list".
Comment 7•19 years ago
|
||
(In reply to comment #6)
> If more clicks are not a problem, I agree we can use a real XUL list box
> instead of XHTML2:role.
> I think we should also give "prefpane" an accessible name instead of "list".
>
I would go for that solution if it doesn't look too difficult to get the same looks.
Another benefit would be that home/end would work as well as typing the first letter of each item to get there fast. After all, a list should work like a list as far as the keyboard goes.
I don't want to go so far, and it's not very possible to be done in Firefox 2.
Home/end benefits little, because we only have 6 buttons.
Attachment #218393 -
Attachment is obsolete: true
Attachment #219134 -
Flags: review?(aaronleventhal)
Comment 10•19 years ago
|
||
Comment on attachment 219134 [details] [diff] [review]
patch v2
I can go with that. It doesn't solve every similar problem we might have but it takes care of what you need for Firefox 2.
Attachment #219134 -
Flags: review?(aaronleventhal) → review+
Updated•19 years ago
|
Attachment #219134 -
Flags: superreview?(neil)
Updated•19 years ago
|
Attachment #219134 -
Flags: approval-branch-1.8.1+
Comment 11•19 years ago
|
||
I don't really know this panel; doesn't it work more like a set of tabs?
Comment 12•19 years ago
|
||
Neil, we're treating it like a list because one of the panels has its own set of real tabs. We don't want 2 rows of tabs active/visible at the same time.
Comment 13•19 years ago
|
||
One more comment --
XUL radio group should inherit from nsXULSelectableAccessible so that it supports nsIAccessibleSelection. So this fix should happen anyway, and just happens to help in this case.
We're dealing with Ben's ugly hack for these icons where he used styled radio buttons by using the DHTML accessibility namespaced attributes to say they're actually list items. However the impl underneath is still for the XUL Radio buttons because that's what the elements are. You don't want to know too much more about how we're doing this hack. Just trust me on this one. We'll have to make some real deep changes to do it in a better way, but that's in the future.
Updated•19 years ago
|
Attachment #219134 -
Flags: superreview?(neil) → superreview+
Assignee | ||
Comment 14•19 years ago
|
||
Checking in src/xul/nsXULFormControlAccessible.cpp;
/cvsroot/mozilla/accessible/src/xul/nsXULFormControlAccessible.cpp,v <-- nsXULFormControlAccessible.cpp
new revision: 1.56; previous revision: 1.55
done
Checking in src/xul/nsXULFormControlAccessible.h;
/cvsroot/mozilla/accessible/src/xul/nsXULFormControlAccessible.h,v <-- nsXULFormControlAccessible.h
new revision: 1.27; previous revision: 1.26
done
Checking in src/xul/nsXULSelectAccessible.cpp;
/cvsroot/mozilla/accessible/src/xul/nsXULSelectAccessible.cpp,v <-- nsXULSelectAccessible.cpp
new revision: 1.31; previous revision: 1.30
done
Checking in src/xul/nsXULFormControlAccessible.cpp;
/cvsroot/mozilla/accessible/src/xul/nsXULFormControlAccessible.cpp,v <-- nsXULFormControlAccessible.cpp
new revision: 1.52.2.4; previous revision: 1.52.2.3
done
Checking in src/xul/nsXULFormControlAccessible.h;
/cvsroot/mozilla/accessible/src/xul/nsXULFormControlAccessible.h,v <-- nsXULFormControlAccessible.h
new revision: 1.25.4.2; previous revision: 1.25.4.1
done
Checking in src/xul/nsXULSelectAccessible.cpp;
/cvsroot/mozilla/accessible/src/xul/nsXULSelectAccessible.cpp,v <-- nsXULSelectAccessible.cpp
new revision: 1.27.2.2; previous revision: 1.27.2.1
done
You need to log in
before you can comment on or make changes to this bug.
Description
•