I have implemented custom touch behavior in my site and I'm using touch-action to prevent the browser from handling user gestures.
The problem is that Safari will collapse and expand its address bar at the bottom as the user is swiping up and down over an element with touch-action: none. The content isn't scrolled, which is the expected behavior, but the address bar changes its state, which isn't. This also resizes the screen, causes layout shifts and resize event listeners to fire, and ruins the user experience.
Chrome, like Safari, also has a UI bar at the bottom that appears and disappears when the page is scrolled up and down, but it stays still while the user swipes over a touch-action: none element. This is the correct behavior.
I've made a test page where the issue can be reproduced. Try swiping fingers over the red box in Safari and the address bar should animate in and out, even though the page isn't scrolling.
I've also made a video on my device, where I demonstrate how Chrome doesn't have that issue, but Safari does.
I filed a bug report on Apple's official feedback form for Safari. In the meantime, is there a workaround for the issue?
I tried the usual approach of adding height: 100% and overflow: hidden to html and body, in various different combinations, but nothing helped.