Opened 12 years ago

Closed 11 years ago

Last modified 11 years ago

#4710 closed defect (fixed)

ComboBox: a11y attribute of editable not conveyed to ATs

Reported by: ptbrunet Owned by: Becky Gibson
Priority: high Milestone: 1.1
Component: Accessibility Version: 0.9
Keywords: Cc: brunet@…
Blocked By: Blocking:

Description

Dojo combo boxes are editable and this information is not being conveyed to Assitive Technology. AT sense this from the DOM structure, i.e. the object that gets focus has wairole:textfield with a parent of wairole:combobox. Dojo combo boxes do not have this structure.

There is a good implementation of an editable combo at http://www.mozilla.org/access/dhtml/combo which works well with FF2/JAWS9/JAWS10 and FF3/JAWS10. It looks like:

div - wairole:combobox
  input - wairole:textfield
  label
  button
  div - wairole:list
    div - wairole:listitem
    div - wairole:listitem

An example of the dojo edit combo is at http://archive.dojotoolkit.org/nightly/dojotoolkit/dijit/tests/form/test_ComboBox.html which is implemented as

table - wairole:presentation
  tbody
    tr
      td
        input - wairole:combobox

Hopefully, the fix is just to move the wairole:combobox up one level and add wairole:textfield to the input.

Attachments (2)

4710b.patch (5.1 KB) - added by Becky Gibson 11 years ago.
updated implementation based on no longer using tables
4710c.patch (5.1 KB) - added by Becky Gibson 11 years ago.
updated to use setAttribute rather than setDisabled

Download all attachments as: .zip

Change History (8)

comment:1 Changed 12 years ago by bill

Sounds good. I hope you don't need to have the wairole:list as a child of wairole:combobox, because that would be a big change (and would have problems w.r.t. the list getting hidden sometimes (which is why we make it a child of document.body).

comment:2 Changed 12 years ago by ptbrunet

Bill, To get correct AT behavior I suspect that's what has to happen, i.e. role list below role combobox (role textfield and list as siblings). I've made similar comments in #4537.

comment:3 Changed 12 years ago by ptbrunet

I noticed that the FF address bar doesn't have an object of role list below the object of role combobox. When its list is activated focus is on a listitem and focus is fired every time the arrow is used to move the selector. The browser tells the AT the n of m info, e.g. item 2 of 12. This is done through the a11y API, e.g. MSAA and possibly also IAccessible2.

comment:4 Changed 12 years ago by Becky Gibson

Status: newassigned

Changed 11 years ago by Becky Gibson

Attachment: 4710b.patch added

updated implementation based on no longer using tables

Changed 11 years ago by Becky Gibson

Attachment: 4710c.patch added

updated to use setAttribute rather than setDisabled

comment:5 Changed 11 years ago by Becky Gibson

Resolution: fixed
Status: assignedclosed

(In [11973]) fixes #4710 updates so combobox and filteringselect are announced as editable combobox by screen reader. Have to find label assoc. with widget and also associate with the element with combobox role.

comment:6 Changed 11 years ago by Becky Gibson

(In [12028]) refs #4710 - update role of edit field to textbox (rather than incorrect textfield)

Note: See TracTickets for help on using tickets.