RE: User agent behavior that cancels pointers, incomplete/inaccurate explanation for pointercancel in touch-action section

On Mon, Sep 15, 2014 at 8:49 AM, Patrick H. Lauke <redux@splintered.co.uk> wrote:
>
> While formulating a response to "[Bug 26809] New: IE11 on Win8.1 fires a click event after pointer  has moved when element has touch-event: none" https://www.w3.org/Bugs/Public/show_bug.cgi?id=26809 I started poking around a bit in the text for https://dvcs.w3.org/hg/pointerevents/raw-file/tip/pointerEvents.html#the-touch-action-css-property

>
> Two things: the "meat" of my answer to that bug was
>
> "Normally, even with Pointer Events, if you move your touch point too much (again, there are a few pixels of wiggle room), it is again considered that you're really doing some gesture or scroll behavior - so the pointer is cancelled (pointercancel is fired) and it's left up to the UA to handle any further movement/interaction."
>
> Unless I'm mistaken, this aspect is not explicitly mentioned in the PE spec at the moment? And if I'm right and it isn't, should it?

Defining this behavior is out of scope for the spec since it involves gesture recognition [1].

> Also, just before the examples in that section, we have
>
> "...the user agent must fire a pointer event named pointercancel (and subsequently a pointerout event) whenever all of the following are true, in order to end the stream of events for the pointer:"
>
> But from my testing in IE11 it seems that pointercancel is fired AFTER pointerout. 

The spec is correct here (to match the order of pointer up sequence:    pointerup pointerout). IE11 has a bug here and we intend to fix it.  We fail test assertion 4.3 for this [2].

> There's also pointerleave that's usually being fired, again to "end the stream of events for the pointer". I'd suggest removing "subsequently" here, and perhaps adding pointerleave as well?

Yes listing pointerleave here makes sense.  Let's get a resolution to do this on tomorrow's call.

-Jacob


[1] http://www.w3.org/2012/pointerevents/charter/#scope

[2] https://github.com/w3c/web-platform-tests/blob/master/pointerevents/pointerevent_pointerout_after_pointercancel_touch.html 

Received on Tuesday, 23 September 2014 04:41:45 UTC