Bug 274654

Summary: Transformed button can not be clicked
Product: WebKit Reporter: Krystof T <kipashmobile>
Component: UI EventsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED CONFIGURATION CHANGED    
Severity: Major CC: ahmad.saleem792, a_protyasha, koivisto, mattwoodrow, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: 3DTransformInterop, BrowserCompat, InRadar
Version: Safari 17   
Hardware: iPhone / iPad   
OS: iOS 17   
See Also: https://bugs.webkit.org/show_bug.cgi?id=237470
https://bugs.webkit.org/show_bug.cgi?id=22787
https://bugs.webkit.org/show_bug.cgi?id=53695
https://bugs.webkit.org/show_bug.cgi?id=137313
Attachments:
Description Flags
Repro case. Click on the button, check console or observe alert. none

Krystof T
Reported 2024-05-24 07:45:38 PDT
Created attachment 471496 [details] Repro case. Click on the button, check console or observe alert. ## What is broken: A button can't be clicked when multiple parent nodes have CSS transform property. Adding `pointerdown` listener to all the elements reveal that the last element (button #projected) doesn't receive any event. I SPECULATE: that the visual is different then the interaction mask. ## How to reproduce: I attach a clear HTML repro case where on Safari clicking the button doesn't pop the alert. Note: CSS Style is in head ## More Context: This html is the result of Three.js's CSS3DRenderer feature which puts html into a 3D perspective matching the engine's perspective camera. It utilizes 2 wrapper objects (#A, #B) with two `transform: matrix3d()` and other CSS translation properties. ## Reproduced in: - Safari iOS 17.5.1 (21F90) - iOS Chrome (125.0.6422.80) - iOS Firefox (126.1 (41973)) ## Works correctly in: - Android Chrome (125.0.6422.52) - Android Firefox (124.1.0) - Windows Chrome (125.0.6422.77) - Windows Firefox (126.0) ## Unconfirmed: - Playwright's Webkit (Playwright 1.44.1) -> There it transformed the button out of the screen. - Safari OS X -> A friend confirmed that it doesn't work for him. Unsure what OS version.
Attachments
Repro case. Click on the button, check console or observe alert. (1.52 KB, text/html)
2024-05-24 07:45 PDT, Krystof T
no flags
Ahmad Saleem
Comment 1 2024-05-24 08:53:54 PDT
I am able to reproduce this in Safari 17.5 where click was not registered while Chrome Canary 127 and Firefox Nightly 128 are working fine and register click. Marking this as 'BrowserCompat'.
Radar WebKit Bug Importer
Comment 2 2024-05-24 08:54:06 PDT
Alexey Proskuryakov
Comment 3 2024-05-27 10:39:27 PDT
Probably a dupe of one or more bugs that I'm relating.
Abrar Rahman Protyasha
Comment 4 2024-05-28 12:18:15 PDT
We should be able to write a WPT for this.
Ahmad Saleem
Comment 5 2024-10-26 00:54:03 PDT
Progressed in Safari 18.0, it is still happening on Safari 17.6 but not in Safari 18.0.1.
Note You need to log in before you can comment on or make changes to this bug.