Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#16823 closed defect (fixed)

_CssStateMixin: active state broken on surface

Reported by: bill Owned by: bill
Priority: undecided Milestone: 1.9
Component: Dijit Version: 1.8.3
Keywords: Cc:
Blocked By: Blocking:

Description

Presumably _CssStateMixin isn't tracking touch events correctly on Surface since it assumes touchstart and touchend events rather than MSPointer. Should leverage dojo/touch to be portable across devices.

Change History (3)

comment:1 Changed 7 years ago by bill

Milestone: tbd1.9

comment:2 Changed 7 years ago by bill

Resolution: fixed
Status: newclosed

In [30807]:

Make _CssStateMixin use dojo/touch events rather than "touchstart" and "touchend" so that (in particular the active state) will work on Surface. Fixes #16823.

Also add new press and release synthetic events to dijit/a11yclick, representing either mousedown/mouseup, touchstart/touchend, or keydown/keyup corresponding to a click event. Use new dijit/a11yclick events in _CssStateMixin to provide visual feedback during keyboard "clicks". For non-IE platforms this moves the listener from the capturing phase to the bubbling phase, which seems to be working OK (especially considering that IE's worked this way from the beginning), but there might be some stopPropagation() calls somewhere the need to be removed. Fixes #8709 !strict.

This is also in preparation to convert Tree to use dijit/a11yclick. Refs #16819.

comment:7 Changed 7 years ago by bill

In [31105]:

Underlying event types from dojo/touch may be "MSPointer*" rather than "mouseover", "mousedown", etc. Fixes regression from [30807] where tabs don't get hover effect on IE10 / Win8. Refs #16175, #16823 !strict.

Note: See TracTickets for help on using tickets.