designmotionhq

interaction

Dropdown Design

Your dropdown is broken. Five rules separate cheap from premium.

Watch on Instagram

Key insights

  • Make the trigger obviously clickable: a 48px touch target, a visible caret icon, and a real hover state — not a 30px box with a faint border.
  • Flip on edge — when there isn't enough room below the trigger, open the menu upward so it never clips off-screen.
  • Keyboard support isn't optional: arrow keys move the highlight, Enter selects the item, and Esc closes the menu.
  • Once a list passes ~10 items, add a search field so users filter instead of scroll-hunting.
  • Animate the open in around 150ms — 50ms feels instant and cheap, 500ms drags and feels sluggish.

Do / Don't

  • Do: Give the trigger a 48px touch target, a clear caret, and a visible hover state.
  • Do: Open the menu upward when space below the trigger runs out.
  • Do: Wire up arrow keys, Enter, and Esc for full keyboard control.
  • Don't: Ship a 30px, low-contrast trigger with no hover feedback.
  • Don't: Let a long menu clip off the bottom of the viewport.
  • Don't: Animate slower than ~150ms — or with no transition at all.

Want Claude to build this correctly?

UX Engine gives Claude Code the senior-designer reasoning behind every pattern.

The Design System Blueprint

An 11-page visual guide to consistent, scalable UI: colors, typography, spacing, components, motion.

Get the Blueprint — free

The PDF, plus emails about new patterns and my tools. Unsubscribe anytime.

Related patterns