Opened 12 years ago

Closed 11 years ago

Last modified 8 years ago

#4923 closed defect (fixed)

FilteringSelect: when list appears there is an empty value at the start of the list

Reported by: ptbrunet Owned by: Becky Gibson
Priority: high Milestone: 1.2
Component: Dijit - Form Version: 0.9
Keywords: Cc: brunet@…
Blocked By: Blocking:

Description (last modified by Becky Gibson)

This was #4537, but it morphed into a discussion about a11y and lists...

Go to http://archive.dojotoolkit.org/nightly/dojotoolkit/dijit/tests/form/test_FilteringSelect.html and tab down to a FilteringSelect widget, clear out all the data, when the list appears notice that there is a blank entry above Alabama. This can cause confusion to the screen reader or a screen reader user.

Change History (11)

comment:1 Changed 12 years ago by ptbrunet

Milestone: 1.01.1

comment:2 Changed 12 years ago by ptbrunet

Milestone: 1.11.0

comment:3 Changed 12 years ago by ptbrunet

These are the relevant comments from #4537...

From bill on 9/22: IIRC the blank entry is so

  1. when the form is initially displayed it shows a blank value for the state (because the user hasn't selected a state yet)...
  2. if user picks a state but then decides he doesn't want to put in anything for that field, he can revert it to a blank value

How do native controls work w.r.t. that situation?

From haysmark on 9/26: A native select is extra special. When you arrow down the menu, the screen reader announces the option and then tells you where the option is in the list. For example, if Alabama is first in the list of 50 states it will say "Alabama, 1 of 50." If the first item is blank it says something like " 1 of 50."

I think it would be nice to have the ComboBox?? telling the user what index the selection is at. Basically we need a waiRole that leverages that native select behavior, or else we need to add the wai.setAttr code back to ComboBox?? so we can manually append the descriptive index to that wai value. That way the user knows that the blank option is there.

From others after that: The conversation went on to talk about adding the "n of m" info but didn't get back to finishing to discussion about why the blank entry is in the list. This ticket was opened to continue that discussion.

comment:4 Changed 12 years ago by ptbrunet

Milestone: 1.01.1

Moving to v1.1.

Assuming the latest technology is FF3 with JAWS 10 this is the current behavior:

JAWS double speaks all the non-blank values, but when blank is encountered JAWS reads the full line (PC Cursor Off). BTW, this is the same as when on FF2.

I think these are the work items:

  • Dojo needs to structure the wairoles so that FF3 senses and provides access to a combo box. This will provide the n of m info. See #4537
  • JAWS needs to not double speak the value changes
  • JAWS needs to say blank when an empty listitem is found
  • JAWS needs to not say the full line when an empty listitem is found

comment:5 Changed 12 years ago by ptbrunet

The aria combo box at http://www.mozilla.org/access/dhtml/combo fires focus on the list items when arrowing through the list.

comment:6 Changed 12 years ago by haysmark

In that Mozilla example (which doesn't work in IE), notice that as the focus changes you lose the ability to type, which is bad. And what about tabIndex? Try it: tab off that focused menu and the focus will go back to the first item on the page. That's exactly what will happen to our ComboBox? and that is 100% bad.

comment:7 Changed 12 years ago by Douglas Hays

Owner: changed from haysmark to becka11y

I think is mostly a screen reader work item.

comment:8 Changed 11 years ago by Becky Gibson

Owner: changed from becka11y to Becky Gibson

comment:9 Changed 11 years ago by Becky Gibson

Milestone: 1.11.2

comment:10 Changed 11 years ago by Becky Gibson

Description: modified (diff)
Resolution: fixed
Status: newclosed

The blank value has been removed for the 1.2 release since the filteringSelect now supports required=true. Closing as fixed;

comment:11 Changed 8 years ago by bill

Component: DijitDijit - Form
Note: See TracTickets for help on using tickets.