Skip to content

fix(Select): Selecting an option triggers a touch event on elements positioned behind#3859

Open
maebug wants to merge 1 commit intoradix-ui:mainfrom
maebug:bug-shadow-dom-touch-event
Open

fix(Select): Selecting an option triggers a touch event on elements positioned behind#3859
maebug wants to merge 1 commit intoradix-ui:mainfrom
maebug:bug-shadow-dom-touch-event

Conversation

@maebug
Copy link
Copy Markdown

@maebug maebug commented Apr 16, 2026

Description

Fixes #1658.

Uses event.composedPath().includes(content) instead of content.contains(event.target) during the pointerup event handling. This solves an issue where the browser retargets event.target to the shadow host element for document-level listeners. composedPath() will pierce the shadow boundary for shadow roots with the open mode.

A test has been added to prove this fix works. This test would fail with the old content.contains() approach, but passes with the changes in this PR.

Huge shoutout to @spencermarx who pointed out the solution in a comment on the associated issue. Thank you!

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Apr 16, 2026

⚠️ No Changeset found

Latest commit: 51bb22c

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Select] Selecting an option triggers a touch event on elements positioned behind

1 participant