Bug 153887

Summary: iOS "clickable elements" concept/restriction not compatible with UI Events spec
Product: WebKit Reporter: Chris Rebert <webkit>
Component: DOMAssignee: Nobody <webkit-unassigned>
Severity: Normal CC: ahmad.saleem792, annevk, baba, benedek.kaldi, doochik, karlcow, kevincox, rniwa
Priority: P2 Keywords: HasReduction, W3CTest
Version: WebKit Nightly Build   
Hardware: iPhone / iPad   
OS: iOS 10   
URL: http://wpt.live/uievents/order-of-events/mouse-events/click-on-div.html

Description Chris Rebert 2016-02-04 12:55:13 PST
I presume there must be some existing "Why isn't my <div> clickable?" bug of which this will be a duplicate,
but my search-fu wasn't able to turn up anything and there's now an actual web-platform-test for this, so...

https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html states
that elements only fire `click` events in certain circumstances (e.g. is a <button>, has an `onclick`, is styled as `cursor: pointer;`, etc.).
However, the W3C spec that defines the `click` event doesn't place any such special preconditions on which elements fire `click` events.

Quoting from relevant portions of the spec:

> The click event type must be dispatched on the topmost event target indicated by the pointer,
> when the user presses down and releases the primary pointer button,
> or otherwise activates the pointer in a manner that simulates such an action.

> topmost event target
>     The *topmost event target* must be the element highest in the rendering order which is capable of being an event target.
>     In graphical user interfaces this is the element under the user's pointing device. [...]
Comment 1 Chris Rebert 2016-02-04 12:56:49 PST
Set the URL field to the relevant web-platform-test.
Comment 2 Lucas Forschler 2019-02-06 09:19:02 PST
Mass move bugs into the DOM component.
Comment 3 Ahmad Saleem 2023-07-13 04:47:43 PDT
Safari 16.5.1 also passes this test: https://wpt.fyi/results/uievents/order-of-events/mouse-events/click-on-div.html?label=master&label=experimental&aligned&q=mouse-events%2Fclick-on-div.html

From linked in URL Field.

Comment 4 Anne van Kesteren 2023-07-15 11:26:20 PDT