When to use
Section titled “When to use”ListItem is for repeated rows with the same structure: a settings menu, a list of people, notifications, files in a folder. Each row describes one topic at a glance and often leads to one place.
When not to use
Section titled “When not to use”- For records to compare: use Table or DataTable when you need columns and sorting.
- For rich content: use Card for content with several sections and actions; do not put each row in its own card.
- For navigation tabs: use Tabs to switch between views of the same page.
- To pick an option: use Select, RadioGroup or Checkbox to choose a value; ListItem carries no selection state.
Anatomy
Section titled “Anatomy”- List (
ListItem.List): a<ul>; optional dividers (divided) and an entrance motion (animate). - Root: an
<li>inside the list and a<div>outside it. It carries size, selected and disabled as data attributes. - Row: an 8 px rounded box inside the root. With
render, the link or button is this box. - Leading (
ListItem.Leading): an avatar, an icon or a thumbnail. - Content (
ListItem.Content): the title (ListItem.Title) and the subtitle (ListItem.Subtitle). - Meta (
ListItem.Meta): short information such as a date or a count. - Trailing (
ListItem.Trailing): a badge, an icon or a separate button.
Behaviour
Section titled “Behaviour”- A row is static by default; there is no interaction.
- With
renderthe row is one target. On hover, press and focus the colour is tinted; nothing moves. selectedmarks the current row: a surface, a bar at the inline start andaria-current="true". Use a button row for navigation, not as a toggle.- By default the title shows one line and the subtitle two, then an ellipsis.
truncatekeeps both on one line. Keep titles short so nothing important is cut. - In an interactive row, do not put a link or a button in
trailing. When you need a separate action, keep the row static and add a Button.
Guidelines
Section titled “Guidelines”One row, one target
Section titled “One row, one target”When the whole row opens one place, it should hold no other action. For a separate action, keep the row static.
- Settings
Short title, detail in the subtitle
Section titled “Short title, detail in the subtitle”The title names the row; move detail to the subtitle.
NotificationsEmail and app
Notifications, email and app notifications and quiet hours
One kind of visual at the start
Section titled “One kind of visual at the start”Rows in one list use the same kind of leading visual.
- User 1
- User 2
- User 1
- User 2
Content
Section titled “Content”- Write the title as a noun phrase in sentence case: “Notifications”, “Account settings”.
- Make the subtitle a one-sentence detail that does not repeat the title.
- Keep
metashort: “Today”, “3 new”. - The link text of a row is the title itself; never “Click here”.
- Mark the Avatar of a person whose name is the title
decorative, so the name is not read twice.