The click delay

Back to the index.

Last major update on 7 April 2014.

On touchscreen devices there’s a delay of about 300 milliseconds between a touchend and a click event. Exactly when does this delay occur?

The proxy browsers, Symbian Anna, Puffin, and IE9 do not support the touch (or pointer) events and are untestable.

IE10 does support removal of the delay, but you have to use (-ms-)touch-action: manipulation or a similar value that suppresses double-tap zooming.

[an error occurred while processing this directive] [an error occurred while processing this directive]
Delay

How long is the delay? (Rounded to nearest 100 ms)

Test page without meta viewport. This is the baseline.
400 300 200 - 300 200 200 400 300 - 400 - 300 - 300 No 300 - 300 300
  • Android 2 note: Sony e-reader and Samsung Pocket about 300; HTC Legend about 400.
  • Symbian Belle refuses to execute my test.
  • UC8 claims the delay time is 0, but still executes a double-tap zoom. But then, UC8 is a weird browser.
  • Tizen has no delay time and (usually) doesn’t execute a double-tap zoom.
width=device-width

Is the delay removed when using width=device-width?

Test page
No No No Issues - No Issues No - No - Yes - No - No - No No
  • Chrome 33 and Opera 20 on Galaxy S4/Sony remove the delay; on Nexus 7 they don’t.
    I asked for a lot of tests on Chrome, and the result is that the delay is removed on nearly all phones, but is not removed on most (but not all) Nexus 7s. Right now I’m assuming that there’s something wrong specifically on the Nexus 7. But this one is a puzzler, and I just don’t know what’s going on. See this blog post for some more information.
user-scalable=no

Is the delay removed when using user-scalable=no?

Test page
No No Yes - No Yes No Yes - No - No - No - No - No No Yes
scaling

Is the delay removed when using initial-scale=1,minimum-scale=1,maximum-scale=1?

Test page
No No Yes - No Yes No Yes - No - Yes - No Yes - No - No No Yes

Tested browsers

[an error occurred while processing this directive]