Created attachment 468487 [details] screen recording To reproduce: 1. Visit https://requestfullscreen-touch-preventdefault.glitch.me on iOS 2. Click the 'Enter Full Screen' button 3. Touch the red square and drag down. Expected behaviour: Full screen is not closed Actual behaviour: Full screen is closed, despite the fact that the events on the red square calls `event.preventDefault()` and has the `touch-action: none;` css style applied.
It sounds like the behavior you're reproducing here is that `preventDefault()` doesn't block the "drag to dismiss" behavior which allows users to exit fullscreen mode. This is intentional, and is a anti-phishing / security feature. The site cannot block the user from exiting fullscreen, either via drag-to-dismiss, the `esc` key, or the persistent close button.
@Jer Noble: Safari/Webkit's implementation of the Fullscreen API ensures that its primary use case, i.e. games, is effectively unusable. Most mobile web games require swipe actions of some kind, and both native iOS games and web games on Android fully support this functionality. Webkit needs a solution to the security issues that still enables developers to build games.
<rdar://problem/118278675>
drag-to-dismiss makes many forms of non-game applications effectively unusable in full screen as well: Drawing apps that use dragging gestures to make pen/brush strokes 3d viewing applications that use dragging gestures to navigate the camera / viewpoint Map applications that use dragging gestures to move the map Etc. I sincerely hope that this is rectified before the release of iOS 17.2.