Sidebars accessible name is not human consumable

RESOLVED FIXED in Firefox 2 alpha2

Status

()

Firefox
Disability Access
RESOLVED FIXED
12 years ago
11 years ago

People

(Reporter: Willie Walker, Assigned: Mark Pilgrim (inactive))

Tracking

({fixed1.8.1})

unspecified
Firefox 2 alpha2
x86
All
fixed1.8.1
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(URL)

Attachments

(2 attachments)

(Reporter)

Description

12 years ago
User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9a1) Gecko/20051214 Firefox/1.6a1
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9a1) Gecko/20051214 Firefox/1.6a1

The history panel has a long accessible name that appears to expose the implementation guts of Firefox.  Instead of something such as "History," the panel name is 'chrome://browser/content/history/history-panel.xul'

Reproducible: Always

Steps to Reproduce:
1) Run the attached standlone test app tool in an xterm
2) Run Firefox
3) Tab to the history pane area on the left of the window
4) Observe the output in the xterm

Actual Results:  

You will see the following output:

focus: 0 0 <CORBA.any of type 'IDL:omg.org/CORBA/Null:1.0'>
  name='chrome://browser/content/history/history-panel.xul' role='html container' state='ENABLED FOCUSABLE FOCUSED SENSITIVE SHOWING VISIBLE'

This is saying the accessible name of the history pane is
some internal URL of really no interest to the user.


Expected Results:  
It would be nice to give this a more human consumable name.
(Reporter)

Comment 1

12 years ago
Created attachment 205957 [details]
Standalone test case
Is this a problem for other panels?
(Reporter)

Comment 3

12 years ago
It may indeed be a problem for other panels, but I notice it most of all in the history panel.

Updated

12 years ago
Assignee: nobody → nian.liu
Willie,

I can only see this issue when at-poke is running. With only firefox and your script running, the name value is "none". Do you know why this happen?
(Reporter)

Comment 5

12 years ago
(In reply to comment #4)
> Willie,
> 
> I can only see this issue when at-poke is running. With only firefox and your
> script running, the name value is "none". Do you know why this happen?
> 

I'm not sure what could be causing the inconsistent behavior.  The output you see in the bug report is from the script.  I tried it many times when I wrote the script, and it always gave me the same "chrome://" URL.  If you're not seeing this, then something is odd, eh?  Would you be able to take a look at the code to see if anything looks suspect?

Comment 6

12 years ago
OS->All
Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: Linux → All
aaron, this bug exists on all platform. the root cause is if the panel has no title, panel url is tried to fetched as titl. mostly happens when XUL "page" element is addressed.

two option here are
1)use element id as title
2)cut url to prefix and suffix as title

what's your opnion and any other suggestion?

Comment 8

12 years ago
Let's not use the ID or the URL because those could easily not be human readable.

We have a lot of control over the XUL environment in Firefox. Let's change the XUL to be what it needs to be so that there is a title, or point the label to the ID of the window via a <label control="[id]">

How is the word "history" showing up?

We should also make sure to update http://www.mozilla.org/access/xul-guidelines
I try to keep the rules in there that XUL authors need to follow.
(In reply to comment #8)
> Let's not use the ID or the URL because those could easily not be human
> readable.
> 
> We have a lot of control over the XUL environment in Firefox. Let's change the
> XUL to be what it needs to be so that there is a title, or point the label to
> the ID of the window via a <label control="[id]">
> 
lots of xul element don't have title or lable attribute(includes vbox, panel).What's for them?

> How is the word "history" showing up?
> 
seem in toggleSidebar, sidebarTitle use ele's title or label value to set its value. When ele is "viewHistorySidebar", it's label is set to "&historyButton.label"

> We should also make sure to update http://www.mozilla.org/access/xul-guidelines
> I try to keep the rules in there that XUL authors need to follow.
> 
(Assignee)

Comment 10

12 years ago
(In reply to comment #9)
> > How is the word "history" showing up?
> > 
> seem in toggleSidebar, sidebarTitle use ele's title or label value to set its
> value. When ele is "viewHistorySidebar", it's label is set to
> "&historyButton.label"

In toggleSidebar, could we set sidebar.setAttribute("title", title) as well?  That should propagate to the accessible name for the panel.

Comment 11

12 years ago
(In reply to comment #10)
> In toggleSidebar, could we set sidebar.setAttribute("title", title) as well? 
> That should propagate to the accessible name for the panel.

Do you mean tooltiptext? The title attribute is more for HTML, I don't think it would propagate to the accessible name. And I think having a tooltip for that would be annoying.

I recommend instead trying to use 
xhtml2:role="wairole:dialog" aaa:labeledby="[elementwithtitle]" for the panel. That should get the accessible name exposed.

(Assignee)

Comment 12

12 years ago
Created attachment 211056 [details] [diff] [review]
Patch to set label controller for sidebar pane

Spoke with Aaron about this, we both agree that the most elegant solution is to set the <label id="sidebar-title"> as the controller for <browser id="sidebar">.  This way, when the label gets set (which is already being done in toggleSidebar), the pane will inherit the label value as its accessible name.  Tested on history sidebar with Accessible Explorer on Windows; pre-patch, accessible name is chrome:// URL; post-patch, accessible name is "History".  Should work similarly for all other sidebars.
(Assignee)

Updated

12 years ago
Attachment #211056 - Flags: review?(mconnor)

Comment 13

12 years ago
Verified on Linux using at-poke, both History and Bookmarks are correct.
(Assignee)

Updated

11 years ago
Assignee: nian.liu → pilgrim
(Assignee)

Updated

11 years ago
Attachment #211056 - Flags: review?(mconnor) → review?(bugs.mano)
Summary: History panel accessible name is not human consumable → Sidebars accessible name is not human consumable
Comment on attachment 211056 [details] [diff] [review]
Patch to set label controller for sidebar pane

r+a181=mano
Attachment #211056 - Flags: review?(bugs.mano)
Attachment #211056 - Flags: review+
Attachment #211056 - Flags: approval-branch-1.8.1+
Trunk:
Checking in browser/base/content/browser.xul;
/cvsroot/mozilla/browser/base/content/browser.xul,v  <--  browser.xul
new revision: 1.297; previous revision: 1.296
done

1.8 Branch:
Checking in browser/base/content/browser.xul;
/cvsroot/mozilla/browser/base/content/browser.xul,v  <--  browser.xul
new revision: 1.268.2.33; previous revision: 1.268.2.32
done
Status: NEW → RESOLVED
Last Resolved: 11 years ago
Keywords: fixed1.8.1
Resolution: --- → FIXED
Target Milestone: --- → Firefox 2 alpha2
You need to log in before you can comment on or make changes to this bug.