Skip to content

[codex] Ignore oversized anonymous AX overlay groups#98

Draft
jacobssdc wants to merge 1 commit into
EvanBacon:mainfrom
jacobssdc:fix/ax-ignore-oversized-overlay-group
Draft

[codex] Ignore oversized anonymous AX overlay groups#98
jacobssdc wants to merge 1 commit into
EvanBacon:mainfrom
jacobssdc:fix/ax-ignore-oversized-overlay-group

Conversation

@jacobssdc

Copy link
Copy Markdown

Summary

  • ignore oversized anonymous AX groups during accessibility tree normalization
  • add a targeted normalization test that preserves valid controls like the tab bar group and tabs

Root cause

Some iOS screens expose an anonymous group AX node whose frame is larger than the simulator screen. The preview overlay treated that node as a valid fullscreen target, so annotation/click mode blocked interaction with the real controls underneath.

What changed

  • added a narrow filter in packages/serve-sim/src/ax.ts for anonymous group nodes with near-fullscreen height and width substantially larger than the screen
  • exported RawAxeNode and normalizeAxTree so the normalization path can be covered with a unit test
  • added packages/serve-sim/src/__tests__/ax-normalization.test.ts

Impact

This keeps the interactive preview usable on affected iOS screens without requiring app-specific workarounds in the mirrored app.

Validation

  • reproduced the issue against a real iOS simulator stream where the raw AX tree contained an anonymous oversized group
  • confirmed the filtered snapshot still kept valid controls like the tab bar group and tabs
  • bun test packages/serve-sim/src/__tests__/ax-normalization.test.ts
  • tsc --noEmit
  • oxlint
  • bun run --filter '*' build

@coderabbitai

coderabbitai Bot commented Jun 18, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 2de776e8-4f21-4c7c-b5cc-b80a31ba48c2

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

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.

1 participant