Chromium has the same issue here: https://bugs.chromium.org/p/chromium/issues/detail?id=1518093 It would seem that Chromium inherited the issue from WebKit. Run this and follow instructions: https://codepen.io/Animal-Nige/pen/qBvqxjz Have the debugger console open. Click in the center of the red box (#inner). The event is delivered to #inner which is the first element at the mouse position to have a box in which to report offsetX/offsetY But it reports offsetX/offsetY as pageX/pageY. There's plenty of discussion on the Chromium thread. But I think this is a hole in the spec where rational behaviour needs to be decided and codified.
No?
<rdar://problem/121737485>