Skip to content

fix(shadcn): use native button for select trigger#5117

Open
cocojojo5213 wants to merge 1 commit into
rjsf-team:mainfrom
cocojojo5213:fix/shadcn-select-tabbable-4764
Open

fix(shadcn): use native button for select trigger#5117
cocojojo5213 wants to merge 1 commit into
rjsf-team:mainfrom
cocojojo5213:fix/shadcn-select-tabbable-4764

Conversation

@cocojojo5213

@cocojojo5213 cocojojo5213 commented Jun 6, 2026

Copy link
Copy Markdown

Reasons for making this change

The shadcn single select trigger is implemented as a custom button-like element. Switching it to a native <button type="button"> gives it browser-managed button and disabled semantics while preserving keyboard activation.

This also adds regression coverage for tab navigation, aria-expanded / aria-haspopup, and disabled trigger behavior.

fixes #4764

Checklist

  • I'm updating documentation
  • I'm adding or updating code
    • I've added and/or updated tests. I updated the shadcn snapshots and ran the package plus repo-level build checks listed below.
    • I've updated docs if needed
    • I've updated the changelog with a description of the PR
  • I'm adding a new feature
    • I've updated the playground with an example use of the feature

Validation run:

  • npm --workspace @rjsf/shadcn test -- SelectWidget.test.tsx
  • npm --workspace @rjsf/shadcn run test:update
  • npm --workspace @rjsf/shadcn test
  • npm --workspace @rjsf/shadcn run cs-check
  • npm --workspace @rjsf/shadcn run lint
  • npm --workspace @rjsf/shadcn run build:ts
  • npm --workspace @rjsf/shadcn run build
  • npx nx run-many --target=build --exclude=@rjsf/docs --parallel=2
  • git diff --check

@cocojojo5213 cocojojo5213 force-pushed the fix/shadcn-select-tabbable-4764 branch from 2de1453 to dde3c89 Compare June 6, 2026 21:30
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.

[shadcn-theme] Dropdown components are not tabbable

1 participant