In a design system's avatar group, how should a stack of project members' avatars behave when there are more people than fit?
answer
- a maximum set by the container
- the last slot becomes a counter
- hidden count, not the total
- a ring between overlapping faces
- one size tier per group
basics
~20 sAn avatar group shows up to a set maximum, then replaces the last slot with a same-size overflow indicator reading +N, where N is the number hidden. Activating it, or a nearby list, reveals everyone; all avatars share one size tier.
solid answer
~50 sI specify a **maximum visible count** chosen by the container's width, then an **overflow indicator** in the last slot, the same size and shape as an avatar, reading `+N` where N is the number of *hidden* people — with 9 members and 4 slots, three avatars and `+6`. Because the indicator replaces a slot rather than adding one, a collapse always hides at least two people, so a `+1` never appears. Avatars overlap with a **ring in the surface color** so neighbours read as separate people, in a stable, documented order, and the whole group uses **one size tier** from the avatar scale. The full list must be reachable, either by activating the indicator or in a list elsewhere, and the group's text alternative says how many people there are in total, for example 'Contract team: Amina Diallo, Luis Ortega and 7 others'.
go deeper
Recall that the group shows a maximum, then a +N indicator in the last slot, and that N counts the hidden people only.
Explain the slot arithmetic, the no-+1 rule, the ring between overlapping avatars and why the group uses one size tier from the avatar scale.
Decide how everyone is revealed — interactive indicator or a nearby list — and write a group text alternative that gives names and the total instead of a string of fragments.
Weigh whether a compact stack serves the product at all: where knowing exactly who is involved matters, a short named list may beat an elegant stack.
## The component An **avatar group** (often called an avatar stack) shows several people in a compact row. On a freelance job marketplace it appears on a contract card to show the freelancers working on it, or on a proposal to show who has reviewed it. Avatars overlap by a fraction of their width, and beyond a maximum the rest collapse into an **overflow indicator**. The group reuses the single avatar's fallback chain; what it adds is the rules for many. ## The overflow rules 1. **Maximum visible is a spec parameter**, commonly three to five, and it is chosen from the space the container gives the group, not from the data. 2. **The overflow indicator takes the last slot.** It has the same size, shape and ring as an avatar so the row keeps its rhythm, and shows `+N`. 3. **N is the number of hidden people, not the total.** With 9 members and a maximum of 4 slots, the group shows 3 avatars and `+6`. Showing "+9" — the total — is a classic defect that makes people count faces and get a different sum. 4. **No "+1".** Because the indicator replaces a slot rather than being added after the last one, collapsing always hides at least two people. A "+1" would mean the counter occupies a slot the hidden face could have filled, saving no space and adding a click. 5. **Cap the counter too.** A group with thousands of members caps the indicator (`+99` is common) for the same reasons a notification badge is capped. 6. **Order is stable and meaningful.** The owner or the current user first, or most recently active — pick one rule, document it, and never reshuffle on refresh. | Members | Slots | Shows | |---|---|---| | 3 | 4 | three avatars, no indicator | | 4 | 4 | four avatars, no indicator | | 5 | 4 | three avatars and +2 | | 9 | 4 | three avatars and +6 | ## Revealing everyone Collapsing people is only acceptable if nobody is lost. The spec picks one of two routes: - **Interactive indicator.** Activating `+6` opens the full member list. The indicator is then a real control, with a name such as "Show all 9 members", and it inherits the system's rules for interactive targets. - **Non-interactive indicator.** The indicator is a summary only, and the full list is reachable through an adjacent link or the detail page. Making individual stacked avatars interactive is rarely worth it: overlapped targets are small and partly covered. ## Overlap and separation - Each avatar gets a **ring in the surface color**, so two adjacent photos — or two initials avatars on similar colors — read as separate people rather than one blob. - **Stacking order** (does the first or the last avatar sit on top?) is a system decision; document it and keep it consistent. - The stack **mirrors in right-to-left layouts**, with the indicator at the reading end. ## The size scale behind the group The group draws on the single avatar's **size scale**, a small set of fixed tiers each tied to where it is used: | Tier | Typical use | Status dot | |---|---|---| | Extra small | dense lists, avatar groups | usually hidden | | Small | comment threads | optional | | Medium | list rows, the default | shown | | Large | profile headers | shown | Each tier defines the initials type size, the ring width, the overlap amount and whether a status dot appears. A group uses **one tier**; mixing sizes breaks the overlap rhythm and implies a hierarchy that is rarely intended. The exact dimensions of each tier are the system's choice; the rule is that they come from the scale, never from a one-off value. ## Text alternative for the group The group conveys *who* and *how many*. Its text alternative names the visible people and the total, such as "Contract team: Amina Diallo, Luis Ortega and 7 others", rather than leaving each overlapped avatar to be read one by one followed by an unexplained "plus six".
- Why should an avatar group's overflow indicator never read +1?The indicator takes a full avatar slot, so a '+1' occupies exactly the space the hidden face needed: nothing is saved and a person is hidden behind a click. Letting the indicator replace the last slot, rather than follow it, guarantees a collapse always hides at least two people.
- When should an avatar group's overflow indicator be interactive?When the full member list is not already reachable nearby. Then the indicator opens the list and becomes a real control with a clear name such as 'Show all 9 members'. If a link to the detail page already lists everyone, a non-interactive summary is simpler and avoids a small extra target.
saying these in an interview costs you the question
- The overflow indicator should show the total number of members
- Overlapping avatars need no separating ring because photos differ anyway
- The order of a stack can change on every refresh because all members are equal
- Hidden members are fine to leave unreachable because the count is shown
- The maximum visible count should grow with the number of members