Skip to content

Agentic Radio: expose selected state and the native selection action - #4406

Merged
Jason Morse (JasonVMo) merged 1 commit into
mainfrom
user/sriramas/radio-accessibility-fix
Oct 29, 2026
Merged

Jason Morse (JasonVMo) merged 1 commit into
mainfrom
user/sriramas/radio-accessibility-fix

Conversation

@srividyaramas

Copy link
Copy Markdown
Contributor

Why

Agentic Radio needs to expose its current selection and the native action for selecting it. Checked state alone was not enough for the Win32 selection interface exercised by these tests.

What changed

Radio now exposes selected state alongside checked state and declares the native selection action through the shared platform resolver. It keeps its existing radio role, accessible naming, disabled behavior, and focus rules.

The app still owns selection. The original accessibility event is forwarded without selecting the radio automatically or generating a separate press.

This change includes focused regression tests, updated component documentation, and a patch changeset. Broader component coverage will come separately.

Testing

  • The full components-package unit suite passed: 569 tests and all eight existing snapshots, including eight new regression cases.
  • Both new Win32 Storybook checks passed, covering native state/naming and selection-action forwarding.
  • Package build, lint, formatting, story type-checking, and component contract checks passed.

The Win32 action checks are deliberately host-specific. They do not establish native behavior on macOS or Windows Fabric, or complete keyboard/pointer coverage.

These are local results from this product branch. CI against current main and cross-platform native results still need review. The separate Windows tooling repair landed upstream in #4400 and is not part of this change.

Preserve externally owned state and original accessibility events. Use UI Automation RadioButton SelectionItem state, not an inappropriate Toggle pattern, and add runtime/native regressions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 4b66f3ef-85ac-4405-bd35-dcc167a077b1
@github-actions

Copy link
Copy Markdown
Contributor

Bundle size report

Tree-shaken, minified production esbuild bundles with React and React Native runtimes externalized.

Scenario Modules-Mac (Δ) Modules-Win (Δ) Size-Mac (Δ) Size-Win (Δ)
components-button 64 (+0) 65 (+0) 50.63k (+0b) 50.55k (+0b)
components-catalog 214 (+0) 215 (+0) 205.63k (+145b) 205.55k (+145b)
design-theme-state 34 (+0) 35 (+0) 30.15k (+0b) 30.08k (+0b)
design-themed-root 38 (+0) 39 (+0) 32.12k (+0b) 32.04k (+0b)
design-color-lib 6 (+0) 6 (+0) 6.33k (+0b) 6.33k (+0b)
design-theme-state-legacy-source 35 (+0) 36 (+0) 31.81k (+0b) 31.73k (+0b)
design-legacy-theme-from-flex 58 (+0) 59 (+0) 97.77k (+0b) 97.63k (+0b)

The job is advisory: size changes are reported but do not fail the pull request. Bundle or analysis errors still fail.


View bundle-size workflow run

@JasonVMo
Jason Morse (JasonVMo) merged commit d732230 into main Oct 29, 2026
18 checks passed
@JasonVMo
Jason Morse (JasonVMo) deleted the user/sriramas/radio-accessibility-fix branch October 29, 2026 19:19
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.

3 participants