Context sheet

v4.0

A context sheet is an elevated, medium-attention surface. It can be modal or non-modal.

Considerations

Contextual

Context sheets are always tied to the screen or flow it supplements, like filters for a results list.

Flexible

The underlying screen remains visible and can remain interactive.

Lightweight but persistent

Stays open until dismissed or until the user completes their action.

Usage

Use for

  • Filtering or refining a search or browse experience.
  • Editing secondary settings that influence the main view.
  • Viewing or editing a listing preview from an elevated surface.

Don’t use

  • For critical, blocking tasks (use Focus sheet instead).
  • For quick, transient actions (use Menu instead).
  • For dense, persistent navigation (use a dedicated Navigation Rail).

Properties

Sheet

Context sheets inherit common properties and behaviors from the primitive sheet component.

Anatomy of a sheet pointing out the 1 sheet container, 2 title, 3 sheet handle, and 4 sheet toolbar container.

Behavior

Presentation

Context sheets appear from the bottom on small screens and the trailing edge of larger screens.

Two examples showing the alignment of a context sheet on small and large screens. Left: a sheet presented from the bottom on a compact screen. Right: Sheet presented from the trailing edge of a tablet.

Modality

A contextual sheet can be modal or non-modal.

Modal sheets use a scrim to block interaction with the main page.

Non-modal sheets allow simultaneous interaction with the sheet and main page surfaces. Non-modal sheets are best used for experiences that require a persistent but dismissible sheet that benefits from interacting with the main page, like viewing location details on a map.

Example of a modal and non-modal sheet over a map. The scrim is visible on the left half of the screen and not visible on the right half.

Minimum sheet height

To maintain ergonomics and readability on smaller screens, context sheets have a minimum height of 200px. Content that doesn’t fill the space of a minimum sheet will have white space below the content area.

A sheet at its minimum height of 200 pixels

Navigation

Navigating within a context sheet should be avoided where possible. If navigating is necessary, keep it shallow – no more than 1 level deep.

When presenting a secondary view in a context sheet, the primary view content is replaced. The secondary view is dismissed by making a selection or pressing a backward navigation button.

Example of a context sheet scrolled open to full height. The sheet contains filters for a list.

Dismissing

Context sheets are dismissed by:

  1. Pressing the close button
  2. Interacting with the scrim (when present)
  3. Swiping the container to the bottom of the screen
  4. Pressing the escape button when the general sheet container is focused
  5. Pressing a hardware back button or using a predicative back gesture
A context sheet opened to full height being dismissed in multiple ways

Device keyboards

Context sheets with input fields expand upward with the device keyboard when the field is focused. The sheet moves back down when the keyboard is collapsed.

A context sheet opened and placed above the device keyboard on iOS

iOS keyboard

A context sheet opened and placed above the device keyboard on Android.

Android keyboard

Screen size

Small screen

On small screens, the vertical height of a context sheet defaults up to 50% of the screen height. Scrolling the sheet first slides it to full height before the content area scrolls.

Example of a context sheet scrolled open to full height on a compact screen. The sheet contains filters for a list.

Medium and large screens

On larger screens, context sheets are fixed to the trailing edge of the screen. Content that extends beyond the vertical bounds of the sheet scrolls. The context sheet header and footer are pinned above the scrolled content.

Example of a context sheet open on a tablet's trailing edge. The sheet contains filters for a list and the list is visible in the background.

Best practices