pattern · selection
Select all across pages
also called select all matching (community), select all 1,204 items (community), cross-page selection (community)
Offering to extend a selection from the visible page to every matching row, after a header checkbox has selected only what is on screen.
“Select all” is one of the great ambiguous labels. In a paginated list it can mean the twenty-five rows drawn on screen or the twelve hundred rows the query matched, and the two readings differ by two orders of magnitude in consequence. The pattern resolves it by refusing to guess: the header checkbox takes the page, which is the smaller and safer reading, and then a banner appears saying exactly what was taken and offering the larger reading as a second, separate act. Two clicks, two scopes, and no way to confuse them.
The banner is the whole term. It has three jobs and each one matters: it reports the scope that currently holds, it states the count of the scope on offer, and it gives the selection somewhere to be undone. The count is the part people underestimate. “Select all matching” is an abstraction; “Select all 1,204 conversations” is a number a reader can weigh against the command they were about to run, which is the last moment before a delete becomes a support ticket. Once the wider scope is taken the banner changes rather than disappearing, because a selection that reaches past the viewport has no other way to show its size: the rows on screen look identical whether five or twelve hundred are held.
Behind the interface the two scopes are genuinely different things. A page selection is a list of identifiers the client can hold; a matching selection is a query the server will resolve later, and it may resolve to a different set than the reader saw, since rows can arrive or change while the banner sits there. That is worth designing for rather than hiding: name the filter in the banner, keep the count fresh, and prefer a reversible command for the wide scope. Products that get this wrong produce the classic disaster report, in which someone archived their entire mailbox while intending to clear one screen.
What is done with the selection afterwards is bulk actions, a separate word for a separate half of the job: this term is how the selection grows past the page, that one is the bar that acts on it. The surface underneath is usually a data table, and the control that starts the whole sequence is an ordinary checkbox, doing the one thing a two-state box cannot do on its own, which is why the header box so often carries a mixed state and the wider scope has to be offered in words.
Which word?
| If you want | say |
|---|---|
| select all offers to also take the rows you cannot see | select all across pages |
| picking many rows and acting on them at once | bulk actions |
Related
See also: Set size and position