A change in iOS 15 is negatively impacting our users and we can't do much about it
For news sites being consumed via mobile, a common usage pattern is for a user to scroll down until they find an article they find interesting. They then click through to that article, read it, then press back. In iOS 14 Safari, it would takes the user back to the page at the point the user had scrolled to. During the iOS 15 beta, we noticed a bug where this was no longer happening: instead, the page scroll is set to top, and the user it taken to the top of the page.
Here’s how it looks on VG, one of our sibling sites within Schibsted:
One of VG’s developers reported this issue upstream during the beta phase, but we’ve heard nothing from the Webkit/Apple team on the issue. We figured we’d highlight the issue again in hopes that either it gets fixed upstream, or others suffering from the same issue might be able to either learn from our workaround or give us tips on how to fix it.
We’ve developed a workaround which involves storing the scrollY of the current page when another page is navigated to, and then when the frontpage is returned to, we scroll to the saved scrollY. For the regular user, this is probably enough to hide the bug. But for the keen eyed (or those intentionally looking for it), there might be a bit of noticeably jumpy behaviour. There’s a few things we might change: reduce the timeout amount so the scroll is done sooner, make the page content’s visibility to be invisible until the scroll happens, or change the scroll to be smooth instead of jumping.
None of these solutions properly recreate the behaviour of iOS 14, though. Ideally we’d like to either understand why this change has happened, when it will be fixed, or how we should work around it. If you have any tips, please let us know!