i
PTN·03·006

Infinite Scroll

Engagement bought with orientation traditional

Infinite scroll removes the page, and the page was carrying more than it looked. A page is a position: it can be linked, bookmarked, returned to, counted, and left. Remove it and browsing becomes cheaper by exactly one click per screenful, while finding, returning and comparing all become harder by an amount nobody measures because it happens after the session ends.

That is the trade, and it is worth stating plainly because it is so often not a trade at all but an inheritance — the pattern arrives with the component library and nobody asks whether this list is a stream. A feed is a stream: there is no last item, position is meaningless, and infinite scroll is honest about the shape of the thing. A catalogue is not a stream. A set of search results is emphatically not a stream; the count is information, the ranking means the good answers are at the top, and endlessness quietly encourages a reader to keep going rather than to refine the query.

The footer is the tell. If a design has an infinite list and a footer, someone has built a room whose door recedes as you walk towards it. Either the footer's contents do not matter — in which case delete them and be honest — or the list should end.

pages have addresses 1 2 3 417 results footer — reachable the stream has none footer — recedes as you walk one click per screenful, bought with every address on the page
FIG 03·006 — pagination has addresses; the stream has none.
AnatomyA viewport, a sentinel near the foot of the loaded content, and a fetch that appends when the sentinel comes into view. What the anatomy omits is the whole difficulty: there is no last page, so there is no position, no bookmark, no “where was I”, and no reachable footer.

Use when

  • The content is a stream with no meaningful end and no meaningful position — a feed, not a catalogue
  • Items are homogeneous and independent, so nothing is lost by never seeing the shape of the whole
  • The visit has no destination: browsing is the activity, not a step towards finding one thing
  • Nothing important lives below the list, because with an infinite list there is no below

Avoid when

  • A person needs to return to a specific item — without pages there is no address to return to
  • The set is finite and its size is information: “417 results” tells a searcher something no stream can
  • Comparison is the task; scrolling forgets, and pagination lets a reader hold a place while checking another
  • The page has a footer anyone needs — contact details, licences, the accessibility statement
  • The list is a search result, where the strongest matches are first and endlessness rewards the wrong behaviour
States & accessContent appended without announcement is content a screen-reader user does not know arrived; the insertion needs a status message. Keyboard users need a way past the stream — an unreachable footer is a keyboard trap in effect if not in definition, and WCAG 2.4.1 Bypass Blocks is the criterion that bites. A “load more” button is the same pattern with the appending made explicit, and it costs one click to fix most of this.
HistoryArrived with the social feed in the late 2000s and spread by a metric: time on page. Pagination is older than the web and came from the constraint of the printed page, which is exactly the constraint that gave a reader a position.
SpecimensSocial timelines · image galleries · e-commerce category pages, usually as a hybrid with a “load more” button · search results, where it is nearly always the wrong choice.
Principle at stakeVisibility of system state — the reader loses their position and the system stops telling them where they are. Recognition over recall fails too, once returning to an item requires remembering how far you scrolled.
SourcesWCAG 2.2 SC 2.4.1 Bypass Blocks and SC 4.1.3 Status Messages for the access requirements; the pattern itself is not specified anywhere — see Standardised nowhere, which is the collection that counts exactly this kind of load-bearing convention.
See alsoThe hybrid — a page of results with a “load more” at the foot, and real URLs behind it — is the version that keeps the address and drops almost none of the ease.

Why traditional: The access requirements are documented — they are WCAG criteria. The trade itself, engagement against orientation, is long practice and widely observed, but this entry does not have a single measured result to point at, so it is not marked documented.