Live versions of the various files at github.com/patrickhlauke/touch.
See the presentation Getting touchy - an introduction to touch and pointer events for some context and further information on the meaning of these tests and demos.
For a series of interesting results (different browsers, operating systems, assistive technologies), see my touch/pointer test results.
div instead of buttondiv with tabindexforce / webkitForce / pressurepreventDefault all eventspreventDefault on touchstartpreventDefault on touchmovepreventDefault on touchendclick delay optimisations/heuristicsuser-scalable=nominimum-scale=1,maximum-scale=1width=device-widthtouch-action:nonetouch-action:none - no meta viewporttouch-action:manipulationtouch-action:manipulation - no meta viewportbuttondivdiv with tabindex=0div with tabindex=0 and role=buttondiv with onclick attributediv with onclick attribute on ancestordiv with addEventListener("click"...)div with addEventListener("click"...) on ancestordiv with cursor:pointerdiv with cursor:pointer on ancestor<body><body> - with iOS clickability hacks<html>click delayfastclick.js:hover dropdownaria-haspopup for IE10+touch-action:nonetouch-action:nonetouch-action:nonepointermovepointermove and touch-action:nonepointermove, touch-action:none and isPrimary checktouch-action:nonepreventDefault on gesture for iOS/iPad (spoiler: doesn't work)radiusX, radiusY, rotationAnglewidth, heightforce, Pointer Events pressure