Skip to content
Bug reportOct 12, 2026· 0:24· 0 views

Radix UI DropdownMenu: opens on pointer-down, menu cannot be cancelled by releasing off-trigger (WCAG 2.5.2)

0:24 total

Comments · 0

Be the first to comment.

Bug report— by SceneRecap AI

mediumDropdownMenu component (Trigger pointerdown event listener)
os: macOSbrowser: Chromium 151.0.7922.34viewport: 1280x720

Repro steps

  1. 1.Navigate to the Radix Primitives Dropdown Menu documentation page.
  2. 2.Press and hold the pointer down on the DropdownMenu trigger button.
  3. 3.Observe that the menu opens immediately on pointer-down rather than waiting for pointer release.
  4. 4.Move the pointer away from the trigger button into the canvas area.
  5. 5.Observe that moving off the trigger does not cancel or abort the opening of the dropdown menu.

Expected

The dropdown menu should activate on pointer-up (click) or provide pointer cancellation (e.g., aborting the open action when the pointer is released off the trigger), complying with WCAG 2.5.2 Pointer Cancellation.

Actual

The dropdown menu opens on pointer-down, and the action cannot be aborted by moving the cursor away before releasing.

Evidence

visualDropdown menu content ('New Tab', 'New Window', etc.) appears immediately upon pressing the trigger button at 5.0s.
visualCursor moves away to the left into empty space at 7.0s, but the dropdown menu remains rendered and active.
consolePreload warnings logged at 1.4s for 'dropdown-menu.svg' and '074agp-iwdkwf.css'.
Issue markdown (copy-paste ready)
### Summary
Radix UI DropdownMenu triggers activation on pointer-down rather than pointer-up. As a result, users cannot cancel the trigger activation by moving their pointer off the trigger target before release, violating WCAG 2.5.2 (Pointer Cancellation).

### Steps to Reproduce
1. Go to Radix Primitives Dropdown Menu documentation (0.0s - 1.0s).
2. Initiate a pointer-down on the circular menu trigger button (3.7s).
3. Move the cursor away from the trigger before releasing (7.0s).

### Expected Behavior
Per WCAG 2.5.2, single-pointer functionality should trigger on pointer-up or allow pointer cancellation (aborting execution when released outside target boundaries).

### Actual Behavior
The menu content immediately displays upon pointer-down (5.0s) and remains open even when dragging away from the trigger (7.0s).

*Recorded with SceneRecap.*

Your recordings could explain themselves too.

Free plan · silent recordings welcome · bug reports included.

Try SceneRecap free →
Radix UI DropdownMenu: opens on pointer-down, menu cannot be cancelled by releasing off-trigger (WCAG 2.5.2) · SceneRecap