How we code interactions on the web has changed significantly with mobile touch devices. It isn’t just about hover, it is also about timing:
By default, if you tap on a touchscreen it takes about 300ms before a click event fires. It’s possible to remove this delay, but it’s complicated.
– via Suppressing the 300ms click delay – QuirksBlog.
Some browsers allow pages to turn off this delay when you have width=device-width
set. Unfortunately mobile Safari isn’t one of those.
There are JavaScript approaches like fastclick that can help. If you are using a UI framework make sure to test the two together, you don’t want both of them trying to fire click events at the same time.