Browse the docs
Actions / Menu

Menu

A sticker button that opens a short sheet of actions: hand-drawn icons, keycap hints, a dashed separator and one careful red item at the end. Use the round icon version at the end of a row.

Client componentWCAG AANew

Change every prop live in the playground.

Props

PropTypeDefaultWhat it does
items requiredMenuItem[]—The actions, in order: `{ label, onSelect, icon?, keys?, danger?, disabled? }`, or `"separator"` for a rule between them.
label requiredstring—What the menu is for, e.g. "Sketch actions". The trigger's text, or its accessible name with `icon`.
align"start" | "end"start; use end for a menu at the right of a rowWhich edge the sheet lines up with.
classNamestringnoneExtra class on the wrapper around the trigger and sheet.
iconReactNodenoneMakes the trigger a round icon sticker (e.g. `<MoreIcon />`); the label is then read, not shown.

Use it well

DoKeep it to actions on one thing, with the destructive one last and red.
Don'tUse it for navigation or for picking a value; links belong in the page, values in a Select.

Accessibility

  • The trigger has aria-haspopup="menu" and aria-expanded; items are role="menuitem" buttons with roving focus.
  • Arrows move and wrap, Home and End jump, a letter jumps to the item that starts with it, Escape closes and returns focus to the trigger.
  • Keycaps are hints only and hidden from screen readers; the red item also buzzes differently on phones, so it never relies on color alone.
Five stamps!

All aboard.

You took the whole tour. Here's Holo Pip, a foil sticker for riders who finish. It's in your playground tray now, for good.