Back to compare picker

Infinite scroll with no footer access vs Feed vs Pagination vs Card list vs Skip link

Flag infinite scroll with no footer access when near-bottom auto-loading keeps pushing footer links, end state, support links, legal links, feedback, or language controls away from the user.

Decision dimensions

Dimension Infinite scroll with no footer accessFeedPaginationCard listSkip link
UI or UX UI + UX - Endless loading footer-access anti-patternUI + UX - Dynamic stream of article-like updates that may load or insert content at either endUI + UX - Paged navigation controlUI + UX - Single-column sequence of bounded rich object summariesUI + UX - Keyboard-visible bypass link to primary page content
UI guidance Treat infinite scroll with no footer access as an anti-pattern when automatic loading keeps pushing footer, legal, privacy, help, contact, sitemap, language, feedback, or account links out of reach.Render the feed as a labelled stream of item boundaries where each item has a source or author, timestamp, title or body summary, type, actions, and enough context to stand alone as an article-like update.Render a labeled pagination nav near the affected results with current page, previous, next, nearby pages, optional first/last or ellipsis, and clear disabled edge states.Render each item as a bounded card with a stable anatomy: preview or icon, title, concise summary, metadata, status, and one clear primary action or activation target.Render a real link before repeated page chrome, usually as the first focusable control after required cookie or service banners, with destination-oriented text such as Skip to main content.
UX guidance Use this anti-pattern during review when users try to reach the bottom of a page for help, legal, settings, unsubscribe, feedback, or navigation but more items keep appearing.Use feed when users consume a continuing stream of posts, updates, stories, events, or collaboration activity and need to keep their reading position while new or older content appears.Help users move through an ordered result set with a stable sense of position, progress, and returnability.Use card list when users browse rich object summaries and need enough context to choose or act without opening every item.Use skip links to let keyboard, switch, screen-reader, and magnifier users bypass repeated navigation, headers, breadcrumbs, filter panels, or other repeated blocks before reaching the primary task or content.
Good UI A news feed loads two automatic batches, then shows Load more stories, End of latest batch, and a reachable footer with Privacy, Accessibility, Contact, and Cookies links.A project feed shows source avatar, actor, timestamp, object name, excerpt, item type, unread marker, reply and save actions, and a visible queued-new-items banner while the reader is midstream.Current page, previous/next, disabled edges, page numbers, result range, and total count are visually clear.A grant-opportunity card shows program name, eligibility summary, deadline, award range, status, agency, and a labelled Save action in the same position on every card.The first Tab on a service page reveals a high-contrast Skip to main content link above the header.
Bad UI A feed appends another batch whenever the user nears the footer, so the footer never becomes reachable.New posts appear above the current paragraph and shift the page while the user is reading.Tiny numbers with no current state.Every card uses a different layout, so deadline, owner, status, and actions appear in different places.The skip link is hidden with display none and never receives keyboard focus.
Good UX A user scrolls through 60 updates, reaches a stable Load more boundary, opens Contact in the footer, then returns to the same feed position.A user pauses live updates, reads three older posts, sees 2 new updates waiting, then chooses Jump to latest when ready.Users move through pages while query, filters, and sort persist.A user filters opportunities to Closing soon, saves two cards, expands one summary, changes sort order, and the saved count and card identities remain clear.A keyboard user presses Tab once, activates Skip to main content, and reaches the page heading instead of tabbing through 18 header links.
Bad UX A user scrolls for the privacy link, but every near-bottom scroll loads another set of cards and pushes the footer away.A feed keeps loading forever, hides the footer, and gives no way to resume from a saved position.Changing page resets filters.A user clicks inside a card to select text but the whole card opens, while a nearby icon deletes the item with no item name.Users must tab through global navigation, service navigation, breadcrumbs, and account links on every page before content.
Best fit Use this anti-pattern to review feeds, search results, product grids, media streams, activity streams, catalogs, and generated infinite-scroll pages.Users consume a continuing stream of updates, posts, stories, comments, media, or collaboration activity.The collection has many ordered results.Users need to browse rich object summaries with preview, summary text, metadata, status, and actions.Pages include repeated navigation, headers, breadcrumbs, filters, or other content before the main content.
Avoid when The stream is short, finite, and the footer remains reachable without racing the loader.The content is a finite set of objects that users need to filter, sort, select, compare, or manage.Users need uninterrupted reading or comparison.The content is dense and homogeneous enough for a compact list view.There is no repeated block before the main content and the first focusable control is already the content task.
Required state Default stream with loaded item count, order label, and visible footer-access plan.Default feed with heading, order label, rendered item count or range, and article-like items.First page with disabled previous control.Default card list with heading or label, result count, and visible card summaries.Default hidden-but-focusable state before keyboard focus.
Accessibility burden Provide a keyboard-reachable route to footer utilities before or beside the long stream.Give the feed a heading or accessible label and expose the current order or filter in text.Use a labeled navigation region.Use a real list or region with a heading for the card sequence.Use a real link and a real fragment target so browser and assistive-technology behavior is predictable.
Common misuse Putting Privacy, Terms, Accessibility, Contact, Cookies, or language links only in a footer that infinite scroll prevents users from reaching.Calling any vertical card list a feed even when it is a bounded object collection.Using pagination for a tiny collection.Using cards as decorative wrappers for dense rows.Placing the skip link inside the header or after the navigation it should bypass.

Infinite scroll with no footer access

UI or UX
UI + UX - Endless loading footer-access anti-pattern
UI guidance
Treat infinite scroll with no footer access as an anti-pattern when automatic loading keeps pushing footer, legal, privacy, help, contact, sitemap, language, feedback, or account links out of reach.
UX guidance
Use this anti-pattern during review when users try to reach the bottom of a page for help, legal, settings, unsubscribe, feedback, or navigation but more items keep appearing.
Good UI
A news feed loads two automatic batches, then shows Load more stories, End of latest batch, and a reachable footer with Privacy, Accessibility, Contact, and Cookies links.
Bad UI
A feed appends another batch whenever the user nears the footer, so the footer never becomes reachable.
Good UX
A user scrolls through 60 updates, reaches a stable Load more boundary, opens Contact in the footer, then returns to the same feed position.
Bad UX
A user scrolls for the privacy link, but every near-bottom scroll loads another set of cards and pushes the footer away.
Best fit
Use this anti-pattern to review feeds, search results, product grids, media streams, activity streams, catalogs, and generated infinite-scroll pages.
Avoid when
The stream is short, finite, and the footer remains reachable without racing the loader.
Required state
Default stream with loaded item count, order label, and visible footer-access plan.
Accessibility burden
Provide a keyboard-reachable route to footer utilities before or beside the long stream.
Common misuse
Putting Privacy, Terms, Accessibility, Contact, Cookies, or language links only in a footer that infinite scroll prevents users from reaching.

Feed

UI or UX
UI + UX - Dynamic stream of article-like updates that may load or insert content at either end
UI guidance
Render the feed as a labelled stream of item boundaries where each item has a source or author, timestamp, title or body summary, type, actions, and enough context to stand alone as an article-like update.
UX guidance
Use feed when users consume a continuing stream of posts, updates, stories, events, or collaboration activity and need to keep their reading position while new or older content appears.
Good UI
A project feed shows source avatar, actor, timestamp, object name, excerpt, item type, unread marker, reply and save actions, and a visible queued-new-items banner while the reader is midstream.
Bad UI
New posts appear above the current paragraph and shift the page while the user is reading.
Good UX
A user pauses live updates, reads three older posts, sees 2 new updates waiting, then chooses Jump to latest when ready.
Bad UX
A feed keeps loading forever, hides the footer, and gives no way to resume from a saved position.
Best fit
Users consume a continuing stream of updates, posts, stories, comments, media, or collaboration activity.
Avoid when
The content is a finite set of objects that users need to filter, sort, select, compare, or manage.
Required state
Default feed with heading, order label, rendered item count or range, and article-like items.
Accessibility burden
Give the feed a heading or accessible label and expose the current order or filter in text.
Common misuse
Calling any vertical card list a feed even when it is a bounded object collection.

Pagination

UI or UX
UI + UX - Paged navigation control
UI guidance
Render a labeled pagination nav near the affected results with current page, previous, next, nearby pages, optional first/last or ellipsis, and clear disabled edge states.
UX guidance
Help users move through an ordered result set with a stable sense of position, progress, and returnability.
Good UI
Current page, previous/next, disabled edges, page numbers, result range, and total count are visually clear.
Bad UI
Tiny numbers with no current state.
Good UX
Users move through pages while query, filters, and sort persist.
Bad UX
Changing page resets filters.
Best fit
The collection has many ordered results.
Avoid when
Users need uninterrupted reading or comparison.
Required state
First page with disabled previous control.
Accessibility burden
Use a labeled navigation region.
Common misuse
Using pagination for a tiny collection.

Card list

UI or UX
UI + UX - Single-column sequence of bounded rich object summaries
UI guidance
Render each item as a bounded card with a stable anatomy: preview or icon, title, concise summary, metadata, status, and one clear primary action or activation target.
UX guidance
Use card list when users browse rich object summaries and need enough context to choose or act without opening every item.
Good UI
A grant-opportunity card shows program name, eligibility summary, deadline, award range, status, agency, and a labelled Save action in the same position on every card.
Bad UI
Every card uses a different layout, so deadline, owner, status, and actions appear in different places.
Good UX
A user filters opportunities to Closing soon, saves two cards, expands one summary, changes sort order, and the saved count and card identities remain clear.
Bad UX
A user clicks inside a card to select text but the whole card opens, while a nearby icon deletes the item with no item name.
Best fit
Users need to browse rich object summaries with preview, summary text, metadata, status, and actions.
Avoid when
The content is dense and homogeneous enough for a compact list view.
Required state
Default card list with heading or label, result count, and visible card summaries.
Accessibility burden
Use a real list or region with a heading for the card sequence.
Common misuse
Using cards as decorative wrappers for dense rows.

Skip link

UI or UX
UI + UX - Keyboard-visible bypass link to primary page content
UI guidance
Render a real link before repeated page chrome, usually as the first focusable control after required cookie or service banners, with destination-oriented text such as Skip to main content.
UX guidance
Use skip links to let keyboard, switch, screen-reader, and magnifier users bypass repeated navigation, headers, breadcrumbs, filter panels, or other repeated blocks before reaching the primary task or content.
Good UI
The first Tab on a service page reveals a high-contrast Skip to main content link above the header.
Bad UI
The skip link is hidden with display none and never receives keyboard focus.
Good UX
A keyboard user presses Tab once, activates Skip to main content, and reaches the page heading instead of tabbing through 18 header links.
Bad UX
Users must tab through global navigation, service navigation, breadcrumbs, and account links on every page before content.
Best fit
Pages include repeated navigation, headers, breadcrumbs, filters, or other content before the main content.
Avoid when
There is no repeated block before the main content and the first focusable control is already the content task.
Required state
Default hidden-but-focusable state before keyboard focus.
Accessibility burden
Use a real link and a real fragment target so browser and assistive-technology behavior is predictable.
Common misuse
Placing the skip link inside the header or after the navigation it should bypass.
Decision rules
  • Flag infinite scroll with no footer access when near-bottom auto-loading keeps pushing footer links, end state, support links, legal links, feedback, or language controls away from the user.
  • Choose feed when the main experience is consuming a dynamic stream and the design still preserves reading position, exposes loaded boundaries, communicates loading and end states, and keeps footer or escape routes reachable.
  • Choose pagination when users need stable page position, shareable URLs, exact result review, known totals, current page, or guaranteed footer access.
  • Choose card list when users browse or manage a bounded set of object cards with filters, sort, selection, save, compare, and card-scoped actions rather than a continuing stream.
  • Choose skip link behavior when users need a keyboard bypass to main content, footer, filters, or search, but do not use a skip link alone to excuse an endlessly extending stream.
  • Use Load more when continuous browsing is helpful but users need to choose when another batch is inserted and when they can reach footer utilities.
  • If footer links are legally or operationally important, repeat them in a stable utility area, stop automatic loading before the footer, or provide a jump-to-footer target that moves focus reliably.
  • Do not rely on Back to top, browser find, search, or fast scrolling as the only way to reach footer utilities.
  • Do not implement infinite scroll for task-completion, comparison, audit review, legal acceptance, privacy changes, or support-seeking flows where users need a known end or footer destination.
  • In generated UI review, inspect auto-load triggers, spinner loops, virtualized focus, mobile near-bottom behavior, return-from-detail position, loaded counts, footer-only links, keyboard tab order, and focus order.
Inspect live examples
Failure modes
  • The user scrolls toward Privacy, but another batch loads and pushes the footer below the viewport again.
  • A product grid puts Contact, Returns, and Terms only in the footer while auto-loading products forever.
  • A keyboard user tabs through newly inserted cards indefinitely before reaching footer navigation.
  • A feed loads older items forever, has no end-of-feed message, and loses the user's position after opening a post.
  • A Skip to footer link exists but focuses a target that immediately moves when auto-load inserts more content.
  • A mobile page shows footer links for a moment, then near-bottom loading shifts them out from under the user's finger.
  • A spinner loop at the bottom hides whether more items exist, loading failed, or the end was reached.
  • A bounded catalog is implemented as endless feed browsing, losing sorting, filtering, comparison, and footer-access expectations.