Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#3428 closed defect (fixed)

regression: drop down vulnerable to space bar selection of menu items

Reported by: davidb Owned by: davidb
Priority: high Milestone: 0.9beta
Component: Dijit Version: 0.9
Keywords: Cc: bill
Blocked By: Blocking:

Description

To recreat: in dijit/tests/form/test_Button.html:

In FF2 on windows or linux:

  1. tab to the edit drop down button
  2. invoke via enter or space key
  3. select a menuitem (the default/first one) via space key
  4. note the menu re-pops up after closing.

Was fixed but a bit of the work for workaround:3281 done via patch on 3061 seems to have been lost. Will post small workaround patch.

Attachments (3)

3428.diff (1.0 KB) - added by davidb 12 years ago.
proposed workaround.
3428-menu-kb-interaction.diff (921 bytes) - added by davidb 12 years ago.
a more general fix.
3428-menu-kb-interaction.2.diff (1.2 KB) - added by davidb 12 years ago.
wildbill's input made this fix better :)

Download all attachments as: .zip

Change History (9)

Changed 12 years ago by davidb

Attachment: 3428.diff added

proposed workaround.

comment:1 Changed 12 years ago by davidb

Hi Bill, looks like you fixed this in the drop down button? I guess you essentially removed onclick handling which is certainly one approach. Shall we close this one?

comment:2 Changed 12 years ago by davidb

On second though, might want to hold off on closing... This fix, coupled with a patch I just posted to ticket #3281 creates a similar problem. It seems both should either activate on the down, OR, the up.

In other words, things should only popup or close on a key down XOR a key up.

comment:3 Changed 12 years ago by davidb

Status: newassigned

Changed 12 years ago by davidb

a more general fix.

Changed 12 years ago by davidb

wildbill's input made this fix better :)

comment:4 Changed 12 years ago by davidb

Resolution: fixed
Status: assignedclosed

(In [9304]) Fixes #3428: onklick now fires on enter-down instead of enter-up to match browser behaviour.

comment:5 Changed 12 years ago by davidb

(In [9306]) Refs #3428: updated test for enter-down (was enter-up)

comment:6 Changed 12 years ago by bill

(In [9326]) Array.forEach() doesn't work on IE. Use dojo.forEach(). Refs #3428. (Also fixed widget destruction to properly disconnect.)

Note: See TracTickets for help on using tickets.