RESOLVED WONTFIX 149015
When swiping through an image gallery on iOS, users may accidentally navigate
https://bugs.webkit.org/show_bug.cgi?id=149015
Summary When swiping through an image gallery on iOS, users may accidentally navigate
Dima Voytenko
Reported 2015-09-09 15:54:27 PDT
Swipe History gestures introduced in iOS7 Safari conflict with touch-enabled web apps. It's too easy to mistakenly trigger them and produce an undesirable false positives where user is sent to a previous page in the history instead of performing an action intended by a web page. This leads to a bad UX.
Attachments
Tim Horton
Comment 1 2015-09-09 20:26:06 PDT
on WKWebView: @property (nonatomic) BOOL allowsBackForwardNavigationGestures;
Tim Horton
Comment 2 2015-09-09 20:26:31 PDT
Oh! From Web content. Never mind :(
Tim Horton
Comment 3 2015-09-09 20:26:43 PDT
Reopening
Sam Weinig
Comment 4 2015-09-09 21:34:16 PDT
I don't think we will ever do this.
Rick Byers
Comment 5 2015-09-10 07:14:29 PDT
In our implementation of this feature on Chrome (on ChromeOS) we give the page first crack at the touch events and trigger the history behavior only if the page doesn't consume the events (exactly as for scrolling). Why not consider something similar in Safari? Dima works on real-world Google web properties struggling with this issue. It's a shame that the swipe-from-side UX that users are used to from native mobile apps and in Chrome on Android can't possibly be implemented in Safari. Is that really the right design choice for users here?
Sam Weinig
Comment 6 2015-09-10 08:42:39 PDT
(In reply to comment #5) > In our implementation of this feature on Chrome (on ChromeOS) we give the > page first crack at the touch events and trigger the history behavior only > if the page doesn't consume the events (exactly as for scrolling). Why not > consider something similar in Safari? > > Dima works on real-world Google web properties struggling with this issue. > It's a shame that the swipe-from-side UX that users are used to from native > mobile apps and in Chrome on Android can't possibly be implemented in > Safari. Is that really the right design choice for users here? Yes. I think it is the right choice. Users should have a consistent behavior in the web browser. When they want to go back, they should be able to swipe back. The web page should not be able to interfere with that.
Dima Voytenko
Comment 7 2015-09-10 09:12:02 PDT
Thanks for all the comments. I do realize that there's practically a zero probability this will be addressed, but... I agree that blocking history swipe based on in-application touch is not a good thing. Consistent behavior is broken in that way. However, I'd argue that history swipe should be reconsidered altogether because it conflicts in a major way with a possible application's functionality affecting UX overall. E.g. one second the user was swiping between photos and the other the user was sent to some other page. Also, this feature turns into a real mess if the web application modifies history stack itself, e.g. using history.pushState(). You can try a basic sample where test page would pushState and then swipe back - it doesn't look pretty. I can build a basic sample if you'd like to see. I've found this set of links both from the perspective of developers and users (and there are many many more): http://www.mobilexweb.com/blog/safari-ios7-html5-problems-apis-review http://stackoverflow.com/questions/18889666/ios-7-is-there-a-way-to-disable-the-swipe-back-and-forward-functionality-in-sa http://www.iphonefaq.org/archives/973468 http://forums.everythingicafe.com/threads/turn-off-safari-page-swipe.104403/
Rick Byers
Comment 8 2015-09-18 08:36:43 PDT
Updating the summary to describe the problem instead of a potential solution. This is apparently a common complaint from Google Photos users. They're swiping through their images on an iPhone and suddenly they navigate backwards instead of going to the next image as expected. I was recently talking to web developers from Flipkart (huge mobile e-commerce company in India). They mentioned this exact problem was a huge problem for usability of their mobile website as well (and part of the reason they abandoned the mobile web in favor of a native app: http://www.zdnet.com/article/why-indias-flipkart-abandoned-its-mobile-website/). Perhaps there are other solutions here than just providing a way to disable the feature? Eg. if Safari sees a series of swipes that are handled by JS and then immediately sees another only slightly to the left/right, isn't it most likely that the user is intending to repeat their previous action?
Arthur
Comment 9 2017-05-01 18:18:53 PDT
It's even more funny on iPad which has huge (~300px) region for history swipe navigations. It's literally impossible to implement any good touch galleries/carousels in Safari because you have only half of the screen available for that (~600px in the center between edges). Such a joke browser.
Note You need to log in before you can comment on or make changes to this bug.