Closed
Bug 287390
Opened 20 years ago
Closed 20 years ago
Name & default action do not work on <input type="image">
Categories
(Firefox :: Disability Access, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: aaronlev, Assigned: aaronlev)
Details
(Keywords: access)
Attachments
(1 file)
Steps: Load a page with an image button <input type="image"> and an accessibility testing tool. Try to activate the default action on the image button. The problem is that we're creating an nsHTML4ButtonAccessible instead of an nsHTMLButtonAccessible
| Assignee | ||
Comment 1•20 years ago
|
||
The accessible name is also incorrect.
Summary: Accesible default action does not work on <input type="image"> → Name & default action do not work on <input type="image">
| Assignee | ||
Comment 2•20 years ago
|
||
Also fixes bug 280053
Attachment #178402 -
Flags: review?(pkwarren)
Updated•20 years ago
|
Attachment #178402 -
Flags: review?(pkwarren) → review+
| Assignee | ||
Updated•20 years ago
|
Attachment #178402 -
Flags: superreview?(jst)
Comment 3•20 years ago
|
||
Comment on attachment 178402 [details] [diff] [review] 1) Create correct kind of accessible for each kind of button, 2) Better name getting algorithm for buttons 3) Better recognize anonymous frames - In nsAccessible::AppendNameFromAccessibleFor(): - In AppendFlatStringFromContentNode(): if (aContent->Tag() == nsAccessibilityAtoms::img) { ... + if (aContent->Tag() == nsAccessibilityAtoms::input) { ... + if (aContent->Tag() == nsAccessibilityAtoms::object && !aContent->GetChildCount()) { ... aContent->Tag() is a virtual call, you'd be better off caching the atom you get from that call in a raw nsIAtom* local. You'd save on both speed and size. - In nsHTMLButtonAccessible::GetName(): + shell->GetAnonymousContentFor(content, getter_AddRefs(anonymousElements)); + if (anonymousElements) { + nsCOMPtr<nsIDOMNode> domNode(do_QueryElementAt(anonymousElements, 0)); do_QueryElementAt() is null safe, so no need for the first if-check there. sr=jst
Attachment #178402 -
Flags: superreview?(jst) → superreview+
| Assignee | ||
Comment 4•20 years ago
|
||
Checking in layout/forms/nsImageControlFrame.cpp; /cvsroot/mozilla/layout/forms/nsImageControlFrame.cpp,v <-- nsImageControlFrame.cpp new revision: 3.103; previous revision: 3.102 done Checking in accessible/src/base/nsAccessibilityAtomList.h; /cvsroot/mozilla/accessible/src/base/nsAccessibilityAtomList.h,v <-- nsAccessibilityAtomList.h new revision: 1.17; previous revision: 1.16 done Checking in accessible/src/base/nsAccessible.cpp; /cvsroot/mozilla/accessible/src/base/nsAccessible.cpp,v <-- nsAccessible.cpp new revision: 1.137; previous revision: 1.136 done Checking in accessible/src/base/nsAccessible.h; /cvsroot/mozilla/accessible/src/base/nsAccessible.h,v <-- nsAccessible.h new revision: 1.57; previous revision: 1.56 done Checking in accessible/src/base/nsAccessibleTreeWalker.cpp; /cvsroot/mozilla/accessible/src/base/nsAccessibleTreeWalker.cpp,v <-- nsAccessibleTreeWalker.cpp new revision: 1.14; previous revision: 1.13 done Checking in accessible/src/html/nsHTMLFormControlAccessible.cpp; /cvsroot/mozilla/accessible/src/html/nsHTMLFormControlAccessible.cpp,v <-- nsHTMLFormControlAccessible.cpp new revision: 1.59; previous revision: 1.58 done
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•