Design Context Menus That Feel Responsive and Efficient
Components · menus, responsive
Updated 2026-07-28
- Position context menus dynamically based on the available screen space. If there isn't enough room below the cursor, open the menu above it. If there isn't enough room on the right, open it to the left. Keep the menu anchored to the interaction point while ensuring it always remains within the viewport.
- Organize actions by intent instead of presenting one long list. Group related actions together with dividers, place frequently used actions together, and isolate destructive actions at the bottom using a distinct visual treatment.
- Make submenus forgiving to navigate. Use hover intent techniques, such as an invisible pointer corridor between the parent menu and submenu, so small cursor movements don't accidentally close the submenu.
- Support keyboard navigation for power users. Allow the arrow keys to move through menu items, provide type-to-select or keyboard shortcuts for common actions, and let the Escape key close only the current menu level before exiting the entire menu.
- Adapt the interaction to the platform while keeping the system consistent. On desktop, open the menu with a right-click. On touch devices, expose the same actions with a long press that opens a bottom sheet or equivalent touch-friendly menu.
- Treat context menus as part of a unified interaction system. Regardless of the input method, users should find the same actions, in the same order, with consistent behavior across devices.
Related guides