Action Menu

Action menus present contextually related actions, revealed by a trigger, that allow users to take one immediate action before dismissing.

Anatomy

A menu diagram with 5 elements numbered: 1. Container, 2. Menu item, 3. Lead icon/control, 4. Trailing icon, 5. Menu item label, 6. Menu item description
  1. Container
  2. Menu item
  3. Lead icon
  4. Selection indicator
  5. Label
  6. Description

Properties

Container

The menu container bounds all actions related to the trigger element. Web uses the popover container by default. Native apps use native menus where appropriate.

Menu listing Replace, Generate with AI, Edit, Remove, each paired with minimal icons.

Labels

Required. The label names the action the user can take. Use short and distinct labels to name the actions so users can compare them at a glance.

  • Use sentence case
  • No ending punctuation
  • Start with a verb
  • Aim for 1-3 words
Menu action labels in a list with Order, Review, Share, Move, Delete

Lead icon

Optional. Lead icons reinforce the relationships with their labels. This is helpful when the icon is presented without a visual label elsewhere on the page.

Menu with leading icons for Shop similar, View store, Remove, and Report.

Descriptions

Optional. A description tells the user what the action will do when the label alone isn't clear enough. Don't restate the label.

  • Use sentence case
  • No ending punctuation
  • Use parallel structure
  • Max 1 sentence

Descriptions are supported on web only, not Android or iOS.

Menu with icons and brief descriptions: Move to folder, Share via app, Change delivery option, Report.

Density

A menu’s density is determined by the height of the individual menu items. By default, menu items are 40px tall on web, 44px tall on iOS, and 48dp tall on Android devices. These defaults maintain a comfortable tap target size.

Smaller menu items save room but are more prone to accidental taps.

Two menu density examples side by side.

Behavior

Selected items show a trailing tick icon to indicate a selected action or view.

A selected state of a menu item with and without a leading icon. Both have a trailing selection indicator

Positioning

The menu should appear in the most logical and convenient place for users. The default placement is below the trigger element. If the trigger element is near the screen’s edge the menu adjusts to remain visible.

Two overflow buttons with an example of a menu positioned below and above the button

Height

The height of the menu container can flex with its contents. By default, the container flexes to show up to 9 options plus half of the tenth option.

For example, if the rows are 48px tall, then 24px of the tenth option is visible from the bottom of the container.

Menu height guidance showing options 1–10 and a pink indicator for bottom padding equal to row height × 0.5.

Scrolling

Menus scroll when the content extends beyond the height of the menu. A scroll bar appears when scrolling to indicate the length of the list.

Menu list with many options and a vertical scrollbar, indicating content extends beyond the visible area.

Width

Menus default to a width of 160px. The width can grow up to 360px for longer labels or descriptions.

An Actions menu with Add to list, Remove from list, Add note, Report.

Text overflow

Menu item labels and descriptions wrap to a new line when extending beyond the width of the menu container.

Menu with multi‑line labels demonstrating text overflow; “Price: Lowest to highest” selected; includes price and duration sort options.

Disabled list items

Actions in a menu can appear disabled but remain visible. Keeping the item visible maintains visual consistency and helps reinforce it’s discoverability when it becomes available.

Menu showing Cut, Copy, Paste (disabled/grey), and Duplicate

Dismissing

Menus are dismissed when:


  • Selecting an action
  • Interacting with another element on the page
  • Pressing the Escape button on a keyboard
Menu interaction showing tap ripple on Remove from list and a second tap outside the menu to dismiss.

Dividers

Dividers help separate groups of menu items into logical collections.

Menu with section dividers separating actions: Subscribe; Add to list; Remove from list; Add note; Help and report.

Platforms

Android

Menus on Android use the Material menu component.

A tablet and mobile Android screen side-by-side: eBay item page with overflow popover menu of actions; Unwatch item, Sell on like this, Share, Help & Report

iOS

iOS devices use the native menu for actions. Form and filter selections can use a context sheet.

A tablet and mobile iOS screen side-by-side: eBay item page with overflow popover menu of actions; Unwatch item, Sell on like this, Share, Help & Report

Web

Web uses the Evo popover menu across screen sizes.

Web layout showing a menu anchored to a menu button on a large and small screen; actions include Buy again, Contact seller, Sell this item, Help & Report

Best practices

Label length

Do use clear, short, action-oriented labels.

Menu with actions Replace, Generate with AI, Edit, Remove; each with simple icons.

Don’t use unnecessarily long or vague labels.

Menu with longer labels: Replace the selected item, Generate new content with AI, Edit this item, Remove this item.

Native menus

Do present menu items in platform-appropriate container.

iOS and Android app menus side by side listing Replace, Generate with AI, Edit, Remove; shows style/elevation comparison.

Don’t use sheets or custom menu popovers for simple menus on native devices.

Bottom sheet action menu on a mobile form with Replace, Generate with AI, Edit, and Remove (destructive) icons.

Do use native menus for simple action menus with text and optional icons.

A native iOS app screen with a menu triggered by an overflow button on an item card

Don’t use a native menu for longer lists or unsupported elements and interactions. Use a sheet instead.

A native iOS app screen improperly using a menu triggered from a filter button; menu is long and all items have a trailing submenu indicator

Web menus

Do present menu items in a popover across screen sizes on web.

A menu with actions triggered by an overflow button on a item card with Subscribe, Pin seller, Add note, Share seller

Don’t use a modal dialog for menus on web, even on smaller screens.

Improper use of a dialog with actions with Subscribe, Pin seller, Add note, Share seller

Form input

Do use menus for a list of actions triggered by either a menu, filter, or overflow button.

A menu opened from an overflow button on an item card with the action list including Shop similar, View store, Remove, Report

Don’t use menus for form field values. Use a Select list instead.

Dropdown form field improperly using a menu; trailing selection indicators imply Bookmarks and Sci‑Fi are both selected.

Specs

Menu spacing diagram showing 16px margins and padding; list with leading icons and trailing checkmark on Item 1.