Lists and tables

ComponentsLayout

Source: Apple Inc. Canonical content at https://developer.apple.com/design/human-interface-guidelines/lists-and-tables. This file is a structured index of that content, snapshot 2025-02-02. Apple HIG text and imagery are © Apple Inc.; this repository provides organization and cross-referencing for AI agent consumption only.

Lists and tables

Best practices

Prefer displaying text in a list or table.

Let people edit a table when it makes sense.

Provide appropriate feedback when people select a list item.

Content

Keep item text succinct so row content is comfortable to read.

Consider ways to preserve readability of text that might otherwise get clipped or truncated.

Use descriptive column headings in a multicolumn table.

Style

Choose a table or list style that coordinates with your data and platform.

Choose a row style that fits the information you need to display.

Platform considerations

iOS, iPadOS, visionOS

Use an info button only to reveal more information about a row’s content.

Avoid adding an index to a table that displays controls — like disclosure indicators — in the trailing ends of its rows.

macOS

Let people resize columns.

Consider using alternating row colors in a multicolumn table.

Use an outline view instead of a table view to present hierarchical data.

tvOS

Confirm that images near a table still look good as each row highlights and slightly increases in size when it becomes focused.

watchOS

When possible, limit the number of rows.

Constrain the length of detail views if you want to support vertical page-based navigation.

Resources

Developer documentation

Videos

Change log


For the complete guidance, including worked examples and illustrations, see the canonical page: https://developer.apple.com/design/human-interface-guidelines/lists-and-tables

Get HIG guidance in your AI

Install Apple HIG Skills and get expert design guidance directly in Claude Code.

npx skills add raintree-technology/apple-hig-skills
Email updates aren't configured on this deployment yet. Follow the GitHub repo (opens in new tab) for updates.