About this set
Three action menus of the kind every app needs, each opened from a menu button. Icons, shortcuts and a danger item is an Actions menu with Edit, Duplicate, Share and Move to folder, keyboard shortcuts on the right, dividers, and a red Delete at the bottom. Group headers and a disabled item is an invoice menu split into labelled Send and Payments groups, where Record payment is disabled and says why (Paid 12 Sep). Items with descriptions is a primary New button whose menu gives each choice an icon tile and a one-line explanation, useful when the options need a sentence to tell apart. Use the first for row or toolbar actions, the second when a menu mixes different kinds of task, and the third for a create menu. The trigger carries aria-haspopup, aria-expanded and aria-controls, and the list is a role=”menu” of menuitems. A short script follows the WAI-ARIA menu button pattern: arrow keys move, Home and End jump, a typed letter jumps to the next matching item, Esc closes and returns focus, and a click outside closes. The Bootstrap version uses Bootstrap’s own Dropdown plugin.
What’s included
- Icons, right-aligned shortcuts, dividers and a danger item
- Labelled groups with a disabled item that explains why
- Rich items with an icon tile, title and description
- WAI-ARIA menu button keyboard support in plain CSS and Tailwind
- Shortcuts exposed with aria-keyshortcuts
- Bootstrap version restyled through --bs-dropdown-* variables
Accessibility
Each trigger has aria-haspopup="menu", aria-expanded and aria-controls, and each menu is labelled by its trigger. Groups use role="group" labelled by their visible header, shortcuts are announced through aria-keyshortcuts while the printed symbols are hidden, and rich items are labelled by their title and described by their description. Focus rings are visible on the trigger and every item, and the open animation switches off under prefers-reduced-motion.
Customise it
Colours live in the --am-* custom properties on .am (ink, muted, line, hover, accent, danger). In Bootstrap change the --bs-dropdown-* and --bs-btn-* variables on .am-menu and .am-btn; in Tailwind edit the hex values in the item and menu classes, and min-w-[236px] or w-[312px] for width.






