W3C home > Mailing lists > Public > public-pointer-events@w3.org > October to December 2014

RE: "click" in the example event sequences in 11.2 Mapping for devices that do not support hover

From: Jacob Rossi <Jacob.Rossi@microsoft.com>
Date: Tue, 21 Oct 2014 04:48:52 +0000
To: "Patrick H. Lauke" <redux@splintered.co.uk>, "public-pointer-events@w3.org" <public-pointer-events@w3.org>
Message-ID: <f5f8d675a8fb4643b793b32e97118598@BY2PR03MB457.namprd03.prod.outlook.com>
This is a case of "do as IE spec'd not as IE do". :-)  

The fact that click happens last in IE is an artifact of a naïve double-tap-to-zoom implementation.  As we all know, double-tap-zoom delays the click (~300ms).  When we implemented this, we just defer the event on a timer (which is cancelled if a second tap happens fast enough).  But what other browsers do (and is *very* important for compat, as it turns out!) is pause the event stream (e.g. defer the click & out/leave events). 

In fact, the ordering is fixed if you disable double-tap-zoom via touch-action:
http://jsbin.com/jadohisegu/1/edit 

We're changing this to match the spec (and other browsers WRT the mouse events which also have this issue) whether double-tap-zoom is enabled or not.  So I think we can resolve this spec bug.

-Jacob

-----Original Message-----
From: Patrick H. Lauke [mailto:redux@splintered.co.uk] 
Sent: Thursday, October 16, 2014 5:00 PM
To: public-pointer-events@w3.org
Subject: "click" in the example event sequences in 11.2 Mapping for devices that do not support hover

I know that in the main "11. Compatibility Mapping with Mouse Events" 
https://dvcs.w3.org/hg/pointerevents/raw-file/tip/pointerEvents.html#compatibility-mapping-with-mouse-events

section we have a fairly clear note about "The relative ordering of these high-level events (click, contextmenu, focus, blur, etc.) with pointer events is undefined and varies between user agents"

But in IE10/IE11, "click" seems to always be the last event fired (after
pointerleave) following a tap on a touchscreen, while in the informative example sequence in https://dvcs.w3.org/hg/pointerevents/raw-file/tip/pointerEvents.html#mapping-for-devices-that-do-not-support-hover

we list "click" as coming after "pointerup".

As IE is currently the only browser to have PE support enabled, I wonder if the example sequence should reflect what it's doing? Or, alternatively - if we feel that "click" should logically be listed after pointerup, and consider IE's firing of click after "mouseleave" to be a UA-specific quirk - should we add a tiny note right next to it reminding the reader that the position of click may vary between UAs?

P
--
Patrick H. Lauke

www.splintered.co.uk | https://github.com/patrickhlauke http://flickr.com/photos/redux/ | http://redux.deviantart.com

twitter: @patrick_h_lauke | skype: patrick_h_lauke

Received on Tuesday, 21 October 2014 04:49:22 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 16:48:11 UTC