Actions, where you need them.

Keep project commands close to the work. Use a visible actions button or open the same choices from their context.

One project, two ways in

Menu foundationLocal demonstration

Navigate without a pointer

Open the button with Enter, Space, or ArrowDown; ArrowUp starts at the last item. Move with arrows, Home/End, or type a label. Disabled actions remain discoverable but cannot run. Tab leaves the menu; Escape returns to its invoker.

Choices and nested actions

Pin project and list density stay open while you choose. Export opens a submenu with a real JSON download. Submenus open deliberately by click or keyboard, with reversed directional keys in RTL. They close one layer at a time.

A context menu needs an alternative

Right-click the project or focus it and press Shift + F10. On touch screens, use Project actions. Custom long-press behavior is not included. Context menus close when their surrounding page scrolls.

Commands, not a form

Use menu items for commands, links, or discrete choices. Put fields and multi-step tasks inside Popover, Dialog, Sheet, or Drawer. A visual Shortcut label never registers a global keyboard shortcut.

Keyboard and semantics follow the W3C menu button and menu patterns.