[pointerevents] Touch action processing model doesn't match IE/Edge behavior around zooming

RByers has just created a new issue for 
https://github.com/w3c/pointerevents:

== Touch action processing model doesn't match IE/Edge behavior around
 zooming ==
Hey,
The [touch-action processing 
model](https://w3c.github.io/pointerevents/#the-touch-action-css-property)
 says:

> To determine the effect of a touch, find the nearest ancestor 
(starting from the element itself) that has a default touch behavior. 
Then examine the touch-action property of each element between the hit
 tested element and the element with the default touch behavior 
(including both the hit tested element and the element with the 
default touch behavior). If the touch-action property of any of those 
elements disallows the default touch behavior, do nothing. 

This makes sense for scrolling, but what about zooming?

In particular, we've been saying "use `touch-action: manipulation` to 
disable the click delay" but what if your page has scrollable divs?  
Do you need to re-apply `touch-action manipulation` to each scroller 
to ensure the click delay is disabled everywhere?  The above spec text
 implies that you do. But this sucks for this click-delay use case 
(means touch-action isn't a complete substitute for fastclick.js 
afterall).

Happily, this isn't [actually what IE/Edge 
implement](http://jsbin.com/tipure/).  So I think we should correct 
the spec text and [blink 
implementation](https://code.google.com/p/chromium/issues/detail?id=529295)
 to match the IE / Edge behavior.  I seem to recall some earlier 
iteration of the spec that referred to the ancestor that implements 
the specific default touch behavior being considered (as opposed to 
any "default touch behavior").  I know we agonized over trying to keep
 this definition accurate yet simple.  Maybe we need to go back 
through the history here?

Anyway, if there's agreement that the spec should be corrected to 
match the Edge behavior, then I can take a crack at coming up with 
some text for this.  Perhaps we should just be more verbose - 
describing an algorithm in stages, etc.

@jacobrossi can you describe precisely what the Edge behavior here is 
to make sure I'm not missing something subtle?

See https://github.com/w3c/pointerevents/issues/19

Received on Tuesday, 8 September 2015 14:09:19 UTC