Popover

v1.0

Popovers are non-modal transient containers that appear above other content. They disclose lists of choices or supplemental information.

  • CSS
  • Marko
  • React
Stylized artwork of a popover.

Considerations

Contextual

Popovers directly relate to its trigger element, which is usually a button.

Progressive

Popovers progressively disclose additional choices or information.

Flexible

Popovers can contain a variety of content of varying complexity.

Anatomy

Properties

Header

The header is optional for popovers without navigation. The header appears by default in child views and contains a title and back button. The title maintains the context of the previous view.

Title

Required. Match the title to the trigger label so users know the popover continues their action.

  • Use sentence case
  • No ending punctuation
  • Use a noun or noun phrase
  • Aim for 1-3 words
A ‘Women’s’ header sits on a popover with five items.

Search field

Popovers can include a search text field at the top to quickly filter a list using keywords. When the popover is presented from a filter button, focus is moved to the text field. Entering keywords filters the list to the best matches available. The list remains filtered after selection until the search field is cleared.

A ‘Women’s’ header sits on a popover with five items.

Body

The popover body contains the primary content. Common body content includes radio button groups, checkbox groups, and option lists.

List items

Required. Write each option so it's distinct and self-contained. Users shouldn't need to read the full list to understand any single choice.

  • Use sentence case
  • No ending punctuation
  • Use a noun or noun phrase
  • Use parallel structure
Five items sit in a popover relating to content being typed in: Running shoes, Running accessories, Running shirts, Running shorts, and Men’s running shoes.

Footer

The footer is optional and usually includes a button to take action on a list. Use the footer when there are multiple decisions within the popover that need to be explicitly submitted.

The button submits the value(s) and closes the popover.

Button labels

Required if using a button in the footer. Use a verb that makes the action and outcome immediately clear.

  • Use sentence case
  • No ending punctuation
  • Use a [verb] or [verb] [noun] pattern
  • Aim for 1-2 words
A ‘Submit’ button sits on the footer of a popover.

Tip

A tip is available to create a stronger relationship between the trigger element and the popover. A tip is recommended when the trigger element may be ambiguous or unclear due to surrounding content.

A popover sits below a ‘Size’ quick filter button with a counter of 2.

Behavior

Presentation

Popovers appear after interacting with another UI element, typically a button.

A popover sits below a ‘Shape’ quick filter button with a counter of 1.

Dismissal

Popovers can be dismissed by:

  • Interacting with the button that presented it again
  • Making a decision within the popover
  • Interacting with other page content
  • The ESC key
Three tap targets are placed in and around a popover to demonstrate where to dismiss a popover: On a button in the footer of the popover,  on the quick filter button just above the popover, and just outside of the popover.

Scrolling

Scrolling is enabled whenever content extends beyond the popover container.

A popover with a list of item tiles. The content is scrollable.

Screen sizes

Small

Popover menus transition to bottom sheets on small screens. However, iOS can use the native context menu for short action lists where appropriate.

A bottom sheet is displayed on top of an item details page.

Bottom sheet

A popover sits below an overflow icon button on an item details page.

iOS context menu

Web large

Medium and large screens on web use popovers for menus, filters, and other views.

A popover sits below a ‘Style’ quick filter button.

Native large

Medium and large screens on native use center sheets or panels for menus and filters.

A popover sits below a ‘Style’ quick filter button.

Best practices

Specs

A popover is shown with specs highlighted. Padding on the top, bottom, left, and right of the container is 16px. The height of the footer is 40px. The padding between the body and footer is 8px.