Component
Dropdown Menu
Click-triggered menu (wraps Base UI Menu).
Basic
When to use
- A short, known list of actions tied to a single trigger - a user avatar's menu, a row's "more actions" button, a toolbar overflow.
When not to use
- Site navigation with hover-revealed content panels - use Navigation Menu instead.
- A right-click-triggered menu - use a visible Dropdown Menu trigger instead so the action also works on touch devices.
- A long, searchable action list - Command Menu's filtering is a better fit past a handful of items.
Keyboard
Mobile behavior
- Opens on tap identical to desktop click - no separate touch affordance needed.
- Items keep a minimum touch-friendly height so a dense menu doesn't produce mis-taps on small screens.
Accessibility notes
- Base UI applies role="menu"/"menuitem" with a roving tabindex, so only one item is a Tab stop at a time.
- DropdownMenu.Separator is exposed with role="separator" so it's skipped by item navigation but still structurally present for screen readers.
Common mistakes
- Putting a form control (checkbox, input) inside a plain DropdownMenu.Item instead of using the dedicated checkbox/radio item variants where available - plain items commit and close on selection.
- Triggering it from a non-button element without forwarding the render prop correctly, which drops keyboard support.
Related components
DropdownMenu.Content props
align"start"
"start" | "center" | "end"Horizontal alignment against the trigger.
classNameNone
stringExtra classes merged onto the menu surface.
API reference
native propsNone
HTML attributesUse Trigger, Content, Item, Separator, and related compound parts.
classNameNone
stringAdditional classes applied to the component root.
