Skip to content

fix(ui-automation): Preserve AXe tab roles#441

Merged
cameroncooke merged 2 commits into
mainfrom
fix/bundle-axe-171-tab-role
Jun 2, 2026
Merged

fix(ui-automation): Preserve AXe tab roles#441
cameroncooke merged 2 commits into
mainfrom
fix/bundle-axe-171-tab-role

Conversation

@cameroncooke
Copy link
Copy Markdown
Collaborator

Bundle AXe 1.7.1 and preserve AXe-reported tab semantics in runtime snapshots.

AXe 1.7.1 includes the rebuilt patched IDB/FBSimulatorControl artifacts needed for SwiftUI TabView tab buttons to appear in full accessibility hierarchy snapshots. Once those nodes are visible, they arrive as AXRadioButton / RadioButton elements with role_description: "tab"; the runtime snapshot normalizer now treats that explicit role description as role: "tab" instead of collapsing the element to a generic button.

This restores snapshot_ui, wait_for_ui --role tab, and tap support for SwiftUI tab bars through the bundled AXe path.

Fixes #439

Bundle AXe 1.7.1 so SwiftUI tab bar accessibility nodes are exposed through the packaged AXe artifact.

Also classify AXe radio button nodes with role_description "tab" as runtime tabs so wait-for-ui and tap selectors can target them by role.

Fixes GH-439

Co-Authored-By: OpenAI Codex <codex@openai.com>
@cameroncooke cameroncooke marked this pull request as ready for review June 2, 2026 19:46
Inject deterministic post-action snapshot timing into the key sequence executor test. This keeps the exact polling assertion stable under CI scheduler jitter.

Co-Authored-By: OpenAI Codex <noreply@openai.com>
@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented Jun 2, 2026

Open in StackBlitz

npm i https://pkg.pr.new/xcodebuildmcp@441

commit: be5a05f

@cameroncooke cameroncooke merged commit 8d50194 into main Jun 2, 2026
43 checks passed
@cameroncooke cameroncooke deleted the fix/bundle-axe-171-tab-role branch June 2, 2026 19:55
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.

Runtime snapshot does not expose SwiftUI TabView tab items as actionable refs

1 participant