TouchEvents: cancelling second touchmove

The spec says touchmove event is cancellable, but implementations have a  
quirk the spec doesn't mention: only the first touchmove event can be  
cancelled:

https://bugzilla.mozilla.org/show_bug.cgi?id=653009

 From a developer point of view this is a terrible misfeature I'd rather  
see removed. One touchmove event is not enough to reliably detect velocity  
and direction of finger movement, so it's very problematic when I want to  
allow vertical page scrolling and prevent scrolling on horizontal swipe  
gesture.

OTOH if it has to stay for web compatibility, then I'd rather see it  
documented to warn developers against it (that behavior looks like a  
bug/race condition in the code when sometimes scrolling works and  
sometimes doesn't).


I've also noticed that TouchEvent.cancellable property is always true,  
even in later touchmove events that effectively cannot be cancelled.  
Should event.cancellable property vary per event to reflect that?

-- 
regards, Kornel

Received on Saturday, 11 January 2014 13:22:43 UTC