Closed Bug 736983 Opened 11 years ago Closed 6 years ago

Mail filter combobox fails to emit accessible events

Categories

(Thunderbird :: Disability Access, defect)

x86_64
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: jdiggs, Assigned: maxli, Mentored)

References

(Blocks 2 open bugs)

Details

(Whiteboard: [lang=c++])

Attachments

(1 file)

Steps to reproduce:

1. Launch Accerciser, start its event monitor, and listen for object:state-changed and object:selection-changed events.

2. Launch Thunderbird and get into the message filters dialog.

3. Create a filter if you don't already have one.

4. Edit an existing filter.

5. In the resulting dialog, compare what happens when arrowing up/down in the two comboboxes shown under 'Perform these actions:'

Expected results: Both combo boxes would emit accessible events to notify ATs that the selection has changed.

Actual results: The first combo box emits events; the second combo box does not emit events. As a result, ATs like Orca have no way to present the selection changes in the second combo box.
Blocks: orca
(In reply to Joanmarie Diggs from comment #0)

> the second combo box does
> not emit events. As a result, ATs like Orca have no way to present the
> selection changes in the second combo box.

they put a XUL tree into menupopup of XUL menulist. So a11y hierarchy is:
combobox
  combobox list
    outline
      list
        columnheader
      outlineitem
      outlineitem

It shouldn't be hard to fix events but I'm curious if hierarchy confuses the screen reader.
so you need to fix widget interface on nsXULTreeAccessible (IsActiveWidget, AreItemsOperable, ContainerWidget), see http://mxr.mozilla.org/mozilla-central/source/accessible/src/xul/nsXULTreeAccessible.cpp#472. Now it works when XUL tree is part of autocomplete, so you need to make it working for comboboxes. You might tweak IsAutocompletePopup() to check if the parent is XUL menupopup element which is a child XUL menulist (see nxXULTreeAccessible constructor) and use nsIDOMXULMenuListElement on XUL menulist instead of nsIAutoCompletePopup to implement widget interface.
Whiteboard: [good first bug][mentor=hub@mozilla.com][lang=c++]
Assignee: nobody → maxli
Max Li do you need some help ?
Whiteboard: [good first bug][mentor=hub@mozilla.com][lang=c++] → [mentor=surkov.alexander@gmail.com][lang=c++]
Mentor: surkov.alexander
Whiteboard: [mentor=surkov.alexander@gmail.com][lang=c++] → [lang=c++]
Hi, is this still a problem? If the folder picker was meant here (going by the 'tree' mentioned in comment 5), then is war reimplemented without the tree since the report. It is now just a hierarchy of menulists/menupopups/menus and no RDF tree. Can you please retest it?
Flags: needinfo?(jdiggs)
It looks like it's fixed.
Flags: needinfo?(jdiggs)
worksforme per comment #5
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.