Skip to content

feat(core): added SelectionController#6487

Draft
nikkimk wants to merge 4 commits into
mainfrom
nikkimk/simple-selection-controller
Draft

feat(core): added SelectionController#6487
nikkimk wants to merge 4 commits into
mainfrom
nikkimk/simple-selection-controller

Conversation

@nikkimk

@nikkimk nikkimk commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Description

  • Proof-of-concept for a simple controller to handle single-selection for components that do not handle their own click selection.
  • Documentation with demos and code snippets for implementing the controller.
  • Refactor of 2nd-gen swc-tabs to leverage focus group navigation and selection controllers.

Motivation and context

This controller could handle selection for accordions, menus, and pickers.

Related issue(s)

Screenshots (if appropriate)


Author's checklist

  • I have read the CONTRIBUTING and PULL_REQUESTS documents.
  • I have reviewed at the Accessibility Practices for this feature, see: Aria Practices
  • I have added automated tests to cover my changes.
  • I have included a well-written changeset if my change needs to be published.
  • I have included updated documentation if my change required it.

Reviewer's checklist

  • Includes a Github Issue with appropriate flag or Jira ticket number without a link
  • Includes thoughtfully written changeset if changes suggested include patch, minor, or major features
  • Automated tests cover all use cases and follow best practices for writing
  • Validated on all supported browsers
  • All VRTs are approved before the author can update Golden Hash

Manual review test cases

  • Selection controller

    1. Go to Live selection controller
    2. Verify that the examples work.
    3. Verify that the documentation is sufficient and the examples work as they should.
    4. Verify that automated tests pass.
    5. Verify the examples pass manual keyboard and screenreader testing.
  • Tabs

    1. Go to Tabs documentation
    2. Verify that the examples work.
    3. Verify that the public API has not changed.
    4. Verify no visual regressions.
    5. Verify that automated tests pass.
    6. Verify the examples pass manual keyboard and screenreader testing.
  • Is the creation and implementation of this controller useful for tabs, accordions, radio groups, swatch groups with selectable swatches, button groups that function as radio groups, menus, and pickers? Or is it easier just to let each custom element handle its own selection management?

Device review

  • Did it pass in Desktop?
  • Did it pass in (emulated) Mobile?
  • Did it pass in (emulated) iPad?

@changeset-bot

changeset-bot Bot commented Jul 8, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: f19e934

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@adobe/spectrum-wc Patch

Not sure what this means? Click here to learn what changesets are.

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

@nikkimk nikkimk self-assigned this Jul 8, 2026
@coveralls

coveralls commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

Coverage Report for CI Build 28976316088

Coverage remained the same at 96.257%

Details

  • Coverage remained the same as the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • No coverage regressions found.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 39169
Covered Lines: 37903
Line Coverage: 96.77%
Relevant Branches: 6460
Covered Branches: 6018
Branch Coverage: 93.16%
Branches in Coverage %: Yes
Coverage Strength: 461.47 hits per line

💛 - Coveralls

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.

2 participants