Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#4129 closed defect (fixed)

Safari/Webkit: widgets not receiving arrow events, breaks a11y (PC)

Reported by: haysmark Owned by: sjmiles
Priority: high Milestone: 1.0
Component: Events Version: 0.9
Keywords: 4dijit a11y Cc:
Blocked By: Blocking:

Description

In Safari or the latest Webkit, whenever you assign a keypress handler to an input type=text, and attempt to capture the up or down arrows, the onkeypress handler does not fire or else dojo does not send an up or down arrow.

Test cases that should work:

  • ComboBox/FilteringSelect?: should be able to arrow through the menu
  • Spinner: should be able to arrow through the numbers, holding down an arrow key makes the spinner go faster

Change History (6)

comment:1 Changed 12 years ago by bill

Milestone: 0.91.1
Summary: Safari/Webkit: widgets not receiving arrow events, breaks a11ySafari/Webkit: widgets not receiving arrow events, breaks a11y (PC)

This is only a problem on the PC, not the mac version. I think Pete or Becky said that keyboard just doesn't work at all on PC/Safari? Anyway, deferring for now.

comment:2 Changed 12 years ago by Becky Gibson

We are not planning a11y support for webkit (PC or Mac) because it does not support tabindex on any element that allows us to set focus to elements. Support for tabindex is planned for webkit and when it becomes available we will retest and tweak as necessary to add keyboard support in webkit.

I think that the arrow keys for the combo box work on the Mac because the onkey event is being trapped from the input field, which by default, supports focus and keyboard interaction.

comment:3 Changed 12 years ago by sjmiles

Windows Safari is actually receiving events, but the keyCode values are always zero.

I have a hack fix for it using keyIdentifier, but I think it's wise to defer this for now because I suspect we will want to revisit the keyboard strategy before long.

comment:4 Changed 12 years ago by sjmiles

Resolution: fixed
Status: newclosed

(In [10187])
Aggressive leak protection on IE7 (which is more broken than we had hoped), fixes #4141.

Indirect listener from disconnect package, fixes #4142.

Remove closure over 'node' in _fixCallback on IE, fixes #4159.

Key hack to normalize arrow and page keys on Safari for Windows, fixes #4129.

comment:5 Changed 12 years ago by sjmiles

When I went back and looked at it, it just seemed wise to go ahead and commit my key hack, sorry for any confusion.

comment:6 Changed 12 years ago by bill

Milestone: 1.11.0
Note: See TracTickets for help on using tickets.