Closed
Bug 347219
Opened 18 years ago
Closed 18 years ago
[newprefs] No way to read "save files to" location
Categories
(Firefox :: Disability Access, defect)
Tracking
()
RESOLVED
FIXED
Firefox 3 alpha1
People
(Reporter: deangelo, Assigned: aaronlev)
References
Details
(Keywords: access, fixed1.8.1, Whiteboard: No l10n impact. 3 patches required. Additional attributes do not affect normal usage. All changes tested by IBM QA (5 hours spent testing with Window-Eyes throughout UI).)
Attachments
(4 files, 3 obsolete files)
(deleted),
patch
|
asaf
:
review+
mtschrep
:
approval1.8.1+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
ginnchen+exoracle
:
review+
neil
:
superreview+
mtschrep
:
approval1.8.1+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
asaf
:
review+
mtschrep
:
approval1.8.1+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
Details | Diff | Splinter Review |
Test environment:
Windows XP, Firefox 2 (Bon Echo) build 20060802, Inspect Objects
Optional: screen reader (JAWS or Window-Eyes)
Description:
Two accessibility issues found on the "Main" tab of the Tools-Options dialog.
1. Missing MSAA Name in location text input field
2. Missing "Parent" group property in Download section
3. Contents of "Save files to" selection field is not available to screen reader
Steps to recreate:
1. Open Tools-Options dialog (press Alt+T, then "O")
2. Select the "Main" page (Press Tab or Shift+Tab until focus is on one of the icons at the top of the page, then press Right Arrow or Left Arrow until "Main" is selected.)
3. Press Tab to move focus to the "Location" field.
4. Note that Inspect Objects shows the MSAA Name = "" (null). Some screen readers (such as JAWS) use the MSAA Name to tell the user the function of a text field. In this case, the MSAA Name should be the same as the field label, "Location".
5. Tab to the radio buttons in the "Downloads" section of the Main page.
6. If not already selected, use Up Arrow or Down Arrow to select the "Save files to" radio button.
7 When viewing Inspect Objects you will notice that the parent property is null. The screen reader does not announce the group heading.
8. The screen reader (JAWS or Window-Eyes) says only "Save files to, Radio button, checked", or something similar. It does not read the contents of the selection box (default = "Desktop"), located between the radio button and the "Browse" button.
9. Press Tab. Focus moves to the "Browse" button. Note, again, the word "Desktop" was not spoken by the screen reader. The screen reader user is unaware of the default selection "Desktop".
10. Press Spacebar to select the "Browse" button. The "Browse for Folder" dialog pops up. Note that the default selection in the "Browse for folder" dialog is NOT the same as the current selection displayed in the "Save Files to" selection box. A blind user has no indication of what the default value is, and has no way of finding out.
Note: Visual constructions like this (radio button, followed by another UI element like a input field or combo box) are not very easy to understand when using a screen reader, since the screen reader often reads only one element at a time, and not the entire line, as a sighted user would naturally do.
Expected results:
1. The MSAA Name property should be set for all User Interface elements.
2. The "Save files to" selection box should be added to the tab ring (even if it is only read-only) so the screen reader will read the information.
Assignee | ||
Updated•18 years ago
|
Comment 1•18 years ago
|
||
The Location-textbox disconnect should be fixed; it would be helpful if you could separate the list of problems into discrete items to be addressed so that it's easier to tackle an item and easier to verify that all issues have been fixed in the patch.
Comment 2•18 years ago
|
||
Confirmed: the location textbox now has the proper accessible name.
Comment 3•18 years ago
|
||
5-10 is a single, valid bug report. Re-titling and assigning to self.
Assignee: nobody → pilgrim
Summary: Accessibility issues on Options-Main page → [newprefs] No way to read "save files to" location
Target Milestone: --- → Firefox 3 alpha1
Updated•18 years ago
|
Flags: blocking-firefox2?
Updated•18 years ago
|
Flags: blocking-firefox2? → blocking-firefox2+
Comment 4•18 years ago
|
||
Mark, is this fixable for Fx2 or is Firefox 3 the realistic target here?
Comment 5•18 years ago
|
||
No, we can't fix this for Firefox 2 until we fix some underlying issues in nsAccessible.GetXULName (it doesn't get the value of radio buttons, checkboxes, or filefields when constructing the name from an hbox's child nodes). That's not realistic for Firefox 2, retargeting.
Updated•18 years ago
|
Flags: blocking-firefox2+
Assignee | ||
Comment 6•18 years ago
|
||
<filefield> appears not to expose it's contents at all, not sure how we missed that before.
Assignee | ||
Comment 7•18 years ago
|
||
There is no nsIAccessibleProvider implementation for <filefield>.
There is also no <implementation implements="nsIDOMXULLabeledControlElement"> although that would seem to fit.
Assignee | ||
Comment 8•18 years ago
|
||
Sorry, I'm wrong -- it exposes itself as a textbox with the accessible value set to the file name.
Assignee | ||
Comment 9•18 years ago
|
||
This fixes all the current uses of <filefield> except in feeds.xul
Assignee: pilgrim → aaronleventhal
Status: NEW → ASSIGNED
Attachment #236921 -
Flags: review?(bugs.mano)
Assignee | ||
Updated•18 years ago
|
Attachment #236921 -
Flags: review?(bugs.mano)
Assignee | ||
Comment 10•18 years ago
|
||
Attachment #236921 -
Attachment is obsolete: true
Attachment #236927 -
Flags: review?(bugs.mano)
Comment 11•18 years ago
|
||
Comment on attachment 236927 [details] [diff] [review]
Also remove xhtml2 and wairole namespaces where no longer needed (role no longer necessary in order to use labelledby)
>Index: accessible/src/base/nsAccessible.cpp
>===================================================================
Someone else should review this change.
>
>Index: toolkit/mozapps/preferences/preferences.xml
>===================================================================
>+ <implementation implements="nsIDOMXULLabeledControlElement">
> <property name="image">
...
> </property>
> <property name="label">
...
> </property>
There are few more properties in this iface, please implement them (per the label, if a property does not make sense throw NOT_IMPLEMENTED).
Attachment #236927 -
Flags: review?(bugs.mano) → review-
Assignee | ||
Comment 12•18 years ago
|
||
This should inherit from control-item via
extends="chrome://global/content/bindings/general.xml#control-item>
The problem with doing that on branch is that <filefield> confuses label and value. The value should be what goes into the <filefield> and the label is usually to the left of that.
Example:
Patch to upload: [ /home/aaron/diff/mypatch.diff ]
LABEL VALUE
Also, <filefield> should be in toolkit/content/widgets instead of toolkit/mozapps/preferences, IMO.
I suggest we fix those things on trunk. For branch I plan to submit a simpler patch.
Assignee | ||
Comment 13•18 years ago
|
||
The other fixes will come shortly. A future bug should be filed to separate the value and label, but perhaps that should be fixed only on trunk.
This makes filefield support nsIDOMXULLabeledControlElement, and also fixes a bug with how the disabled attribute worked. It had a strange implemenation that would set the disabled attribute instead of removing it. As a result, filefield.disable = 'false' was removing the filefield from the tab order unintentionally.
Attachment #236927 -
Attachment is obsolete: true
Attachment #237353 -
Flags: review?(bugs.mano)
Assignee | ||
Comment 14•18 years ago
|
||
Patch for mozilla/accessible will come up shortly and use a different reviewer.
Attachment #237354 -
Flags: review?(bugs.mano)
Comment 15•18 years ago
|
||
Comment on attachment 237353 [details] [diff] [review]
<filefield> binding fixes only
r=mano
Attachment #237353 -
Flags: review?(bugs.mano) → review+
Comment 16•18 years ago
|
||
Comment on attachment 237354 [details] [diff] [review]
Fix uses of aaa:labelledby, for filefields and in a few other places. A role is no longer needed, and an idlist can be used.
Index: browser/components/preferences/advanced.xul
===================================================================
<!-- Cache -->
<groupbox id="cacheGroup">
<caption label="&cache.label;"/>
- <hbox xhtml2:role="wairole:label" id="cacheSizeBox" align="center">
+ <hbox id="cacheSizeBox" align="center">
General comment: get rid of the xhtml2 namespace in any place where it's no longer needed (probably everywhere).
r=mano otherwise, assuming you've tested this.
Attachment #237354 -
Flags: review?(bugs.mano) → review+
Assignee | ||
Comment 17•18 years ago
|
||
Attachment #237491 -
Flags: superreview?(neil)
Attachment #237491 -
Flags: review?(ginn.chen)
Assignee | ||
Comment 18•18 years ago
|
||
(In reply to comment #16)
> General comment: get rid of the xhtml2 namespace in any place where it's no
> longer needed (probably everywhere).
Yes, already done. Ragarding advanced.xul, xhtml2/wairole are still needed on 1 element Also, aaa is only needed on 1 element in that file. Do you want me to move those xmlns declarations to the element that uses them, instead of higher up in the DOM?
Assignee | ||
Comment 19•18 years ago
|
||
Attachment #237353 -
Attachment is obsolete: true
Attachment #237493 -
Flags: review?(bugs.mano)
Comment 20•18 years ago
|
||
Comment on attachment 237493 [details] [diff] [review]
Same as previous <filefield> binding fixes patch, but also explicitly declare implements="nsIDOMXULLabeledControlElement", because that is not inherited from control-item (surprising to me)
OK, this will do for now, r=mano (though, really, we need a better interface here which exposes just the label and the accesskey).
Attachment #237493 -
Flags: review?(bugs.mano) → review+
Comment 21•18 years ago
|
||
Comment on attachment 237491 [details] [diff] [review]
Generalize AppendFlatStringFromSubtree better, so that it can handle any labelled control element and doesn't walk into subtrees of labelled options
>- else if (!aContent->GetAttr(kNameSpaceID_None,
>- nsAccessibilityAtoms::tooltiptext, textEquivalent) ||
>- textEquivalent.IsEmpty()) {
>- AppendNameFromAccessibleFor(aContent, aFlatString, PR_TRUE /* use value */);
>+ else {
>+ aContent->GetAttr(kNameSpaceID_None,
>+ nsAccessibilityAtoms::tooltiptext, textEquivalent);
> }
>+ AppendNameFromAccessibleFor(aContent, &textEquivalent, PR_TRUE /* use value */);
Why don't you need to check for empty tooltiptext any more?
Assignee | ||
Comment 22•18 years ago
|
||
> Why don't you need to check for empty tooltiptext any more?
Neil, we always want to append the accessible value of any control, whether it had tooltiptext or not. We shouldn't have done it that way in the first place.
Attachment #237491 -
Flags: review?(ginn.chen) → review+
Updated•18 years ago
|
Attachment #237491 -
Flags: superreview?(neil) → superreview+
Assignee | ||
Updated•18 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Assignee | ||
Updated•18 years ago
|
Attachment #237493 -
Flags: approval1.8.1?
Assignee | ||
Updated•18 years ago
|
Attachment #237491 -
Flags: approval1.8.1?
Assignee | ||
Updated•18 years ago
|
Attachment #237354 -
Flags: approval1.8.1?
Assignee | ||
Updated•18 years ago
|
Whiteboard: 3 patches required. Additional attributes do not affect normal usage. All changes tested by IBM QA (5 hours spent testing with Window-Eyes throughout UI)
Comment 23•18 years ago
|
||
Can we confirm no l10n impact here?
Comment 24•18 years ago
|
||
I can't see a direct impact on l10n. Or managed to figure out a way for an indirect one.
Assignee | ||
Comment 25•18 years ago
|
||
No l10n impact
Whiteboard: 3 patches required. Additional attributes do not affect normal usage. All changes tested by IBM QA (5 hours spent testing with Window-Eyes throughout UI) → No l10n impact. 3 patches required. Additional attributes do not affect normal usage. All changes tested by IBM QA (5 hours spent testing with Window-Eyes throughout UI).
Updated•18 years ago
|
Attachment #237493 -
Flags: review?(mconnor)
Comment 26•18 years ago
|
||
Comment on attachment 237354 [details] [diff] [review]
Fix uses of aaa:labelledby, for filefields and in a few other places. A role is no longer needed, and an idlist can be used.
a=schrep for accessibility fix for new prefs window.
Attachment #237354 -
Flags: approval1.8.1? → approval1.8.1+
Comment 27•18 years ago
|
||
Comment on attachment 237491 [details] [diff] [review]
Generalize AppendFlatStringFromSubtree better, so that it can handle any labelled control element and doesn't walk into subtrees of labelled options
a=schrep for accessibility fix for new prefs window.
Attachment #237491 -
Flags: approval1.8.1? → approval1.8.1+
Comment 28•18 years ago
|
||
Comment on attachment 237493 [details] [diff] [review]
Same as previous <filefield> binding fixes patch, but also explicitly declare implements="nsIDOMXULLabeledControlElement", because that is not inherited from control-item (surprising to me)
a=schrep for accessibility fix for new prefs window.
Attachment #237493 -
Flags: approval1.8.1? → approval1.8.1+
Assignee | ||
Comment 29•18 years ago
|
||
Updated•18 years ago
|
Attachment #237493 -
Flags: review?(mconnor)
Assignee | ||
Updated•18 years ago
|
Keywords: fixed1.8.1
Comment 30•6 years ago
|
||
Keywords: sec508
You need to log in
before you can comment on or make changes to this bug.
Description
•