Stop Scrolljacking Your Website’s Users
Several months ago, I began drafting a post about my least favorite modern web design “features.” That post never actually got written for various reasons, but there’s one feature on that list that I keep encountering on otherwise great websites. And since I’m feeling a bit curmudgeonly today, I’m going to address it here and now.
Put simply, scrolljacking is terrible and should never be used. Earlier this year, I critiqued scroll fading content, which is a different feature altogether from scrolljacking, though both are obviously related to one of the most common activities that your website’s users will do. But whereas scroll fading affects the display of a webpage’s content as users scroll, scrolljacking affects the scrolling itself, and in the process, creates some significant UX and accessibility issues.
When you flick your finger up or down on a trackpad or something like Apple’s Magic Mouse, the webpage starts scrolling, and the faster you flick, the faster and further it typically scrolls. But the webpage stops scrolling the instant your finger comes back into contact with the trackpad, similar to scrolling on an iPhone. Scrolljacking, however, overrides and hijacks this expected behavior to impose its own behavior: the webpage continues scrolling a bit longer even after you’ve signaled that the scrolling should stop. This is unexpected and distracting, and therein lies the problem. As the Nielsen Norman Group’s Sara Paul writes:
In most computer operating systems, the default scroll speed can be manually adjusted to be more sensitive or less sensitive, but it is always consistent. Users expect a consistent scroll rate across all the applications on their devices.
When a website alters the default scroll functionality, it “hijacks” the user’s control over their device and can generate disorientation.
I’ve created a scrolljacking demo so you can experience this disorientation for yourself. Adam Siekierski’s colorfully titled “Don’t Fuck With Scroll” website is another example, and also lists various reasons why it’s a terrible idea (e.g., accessibility issues, inconsistent performance).
I personally hate scrolljacking because it increases the cognitive load of using a website. When I’m scrolling down a webpage to read it, I know roughly where I want to scroll to. I’ll pick out a specific word, line, or heading for use as a marker and scroll to that point. But scrolljacking keeps moving past my selected marker, forcing me to scroll even more to reacquire its location and reorient myself on the webpage. That may only require a fraction of a second, but I notice it every single time I have to do it. And every single time I feel like the webpage is getting in my way when all I want to do is read it and move on with my day.
Scrolljacking is sometimes given a cool, advanced-sounding name like “momentum scrolling,” “inertial scrolling,” or “smooth scrolling” that makes it sound like a must-have feature. (After all, who wants a website that doesn’t scroll smoothly?) Don’t believe the hype, though. Fellow designers and developers, resist the urge to make your website “cool” just by making it scroll a little differently. Your users won’t benefit from it nearly as much as you think they will. But if you insist on implementing scrolljacking, then at least provide a mechanism by which users can disable it.
Some valid use cases might exist for scrolljacking: a showcase website that relies heavily on animation for an immersive effect, perhaps. But for the vast majority of websites, scrolljacking offers no benefits and will just make them worse for their users.