Experts say don’t do infinite scrolling, or be extremely careful in doing so. I completely agree. Infinite scrolling creates accessibility and usability problems. Below are checkpoints, issues and suggestions from a few resources.
Here’s a great list of checkpoints from the article So You Think You’ve Built a Good Infinite Scroll by Adrian Roselli (@aardrian):
- Can the user hit “back” and return to the exact same place?
- Is there paging for when the JavaScript breaks?
- Does the page have a footer?
- Can a keyboard user access all other content on the page?
- Can you share a URL to a specific place on the page?
- Can a user easily jump ahead a few “pages” to quickly get to content much further down the list?
- Does the memory footprint of the page dramatically increase after just a couple new “pages?”
- Is there a way to disable automatic infinite scrolling and lean on standard paging?
- Have you conducted any user tests?
- Are you satisfying a use case that has come from research or user request?
- Do you have any analytics/tracking to measure success?
In the article Infinite Scrolling: Let’s Get To The Bottom Of This, Smashing Magazine makes some great points including the following.
Fails: temptation, optimism, exhaustion, pogo-sticking, loss of control, distracting, unreachable
- Users want immediate access to exclusive data.
- Users want to feel in control.
- Users often look for landmarks when scrolling.
- Consider conventional pagination or a hybrid solution.
- Provide interesting content without an ambiguous interface.
- Users often expect a footer.
- An infinite list is still a list.
- Effects are nice to have but not a must.
In the Simply Accessible article Automatic infinite scrolling & accessibility, Derek Featherstone (@Feather) says:
- Just don’t implement infinite scrolling.
- Replace automatic infinite scrolling with a “Load more results…” button or link that explicitly invites the user to add more. Once they do a few times, prompt them to ask if they’d like to turn auto-loading of more results on.
- No, really, just don’t implement infinite scrolling.
Further reading: