Skip to content

fix(select): avoid invalid radio group structure - #31429

Open
kavyansh18 wants to merge 4 commits into
ionic-team:mainfrom
kavyansh18:fix/select-modal-aria-structure
Open

fix(select): avoid invalid radio group structure#31429
kavyansh18 wants to merge 4 commits into
ionic-team:mainfrom
kavyansh18:fix/select-modal-aria-structure

Conversation

@kavyansh18

Copy link
Copy Markdown

Issue number: resolves #31074


What is the current behavior?

When ion-select uses interface="modal" in single-select mode, the modal renders an ion-list containing an ion-radio-group.

The ion-list has role="list" while the nested ion-radio-group has role="radiogroup", resulting in an invalid ARIA structure for the radio options.

What is the new behavior?

Single-select modal options are now rendered directly inside the ion-radio-group without the wrapping ion-list.

  • Removes the conflicting role="list" wrapper from the single-select radio options.
  • Preserves the existing ion-list structure for multiple-select mode.
  • Preserves the existing MD spacing and radio option styling after removing the list wrapper.
  • Adds regression coverage for the single-select and multiple-select DOM structures.

Does this introduce a breaking change?

  • Yes
  • No

Other information

The change is limited to the select modal rendering, its existing MD styles, and regression tests.

Multiple-select behavior is unchanged.

The relevant select modal tests, linting, Stylelint, Prettier, and build checks pass.

@kavyansh18
kavyansh18 requested a review from a team as a code owner September 5, 2026 14:53
@kavyansh18
kavyansh18 requested a review from ShaneK September 5, 2026 14:53
@vercel

vercel Bot commented Sep 5, 2026

Copy link
Copy Markdown

@kavyansh18 is attempting to deploy a commit to the Ionic Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions github-actions Bot added the package: core @ionic/core package label Sep 5, 2026
@kavyansh18

Copy link
Copy Markdown
Author

hey @ShaneK can you review the PR

@vercel

vercel Bot commented Sep 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
ionic-framework Ready Ready Preview Sep 10, 2026 4:15pm UTC

Request Review

@ShaneK ShaneK left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for picking this up, and nice find on the invalid nesting. The approach looks right to me, just a couple of things to sort out first

Comment thread core/src/components/select-modal/select-modal.tsx
Comment thread core/src/components/select-modal/select-modal.md.scss
Comment thread core/src/components/select-modal/test/basic/select-modal.e2e.ts Outdated
Comment thread core/src/components/select-modal/test/basic/select-modal.e2e.ts Outdated
Comment thread core/src/components/select-modal/test/basic/select-modal.e2e.ts
@kavyansh18
kavyansh18 requested a review from ShaneK September 11, 2026 10:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

package: core @ionic/core package

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug: ion-select (interface="modal") renders invalid ARIA structure: ion-list role conflicts with ion-radio-group

2 participants