Shared right-click context menu (UI Design Guide §7).
Generalizes the dimension-slider menu's algorithm (fixed position at the
cursor, viewport clamping, click-outside via a next-tick document listener,
Escape) and fixes its gaps: full menu ARIA (role="menu" / menuitem /
menuitemradio + aria-checked), roving focus with
ArrowUp/Down/Home/End, one level of side-flyout submenus
(ArrowRight/ArrowLeft), and focus return to the opener on close.
All geometry is transform-only on entry (glass-safe, §10.2). The menu is
mounted on the viewer container so it inherits theming, and positioned
fixed at popover z-tier. Coordinates of (0,0) are tolerated (synthetic
events in tests carry no clientX/Y).
Shared right-click context menu (UI Design Guide §7).
Generalizes the dimension-slider menu's algorithm (fixed position at the cursor, viewport clamping, click-outside via a next-tick document listener, Escape) and fixes its gaps: full menu ARIA (
role="menu"/menuitem/menuitemradio+aria-checked), roving focus with ArrowUp/Down/Home/End, one level of side-flyout submenus (ArrowRight/ArrowLeft), and focus return to the opener on close.All geometry is transform-only on entry (glass-safe, §10.2). The menu is mounted on the viewer container so it inherits theming, and positioned
fixedat popover z-tier. Coordinates of (0,0) are tolerated (synthetic events in tests carry no clientX/Y).