fix(ios): typography audit rejects localized accessibility labels#106092
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b31eaa99c9
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 583b5d03db
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8a1180a235
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Codex review: needs maintainer review before merge. Reviewed July 13, 2026, 7:33 AM ET / 11:33 UTC. Summary PR surface: Other +217. Total +217 across 1 file. Reproducibility: yes. The before-fix audit reports localized accessibility-only Text forms as unbranded offenders, and the focused native suite exercises the conflicting checks directly. Review metrics: none identified. Stored data model Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Maintainer decision needed
Security Review detailsBest possible solution: Retain the narrow accessibility-metadata exemption and adversarial samples, refresh the branch onto current main, and land only after the exact-head native audit gates pass. Do we have a high-confidence way to reproduce the issue? Yes. The before-fix audit reports localized accessibility-only Text forms as unbranded offenders, and the focused native suite exercises the conflicting checks directly. Is this the best way to solve the issue? Yes, subject to accepting the test-helper maintenance cost. Classifying only directly owned accessibility metadata is narrower than weakening the visual typography rule or changing the canonical localized SwiftUI form. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against b0ebb81e89f5. Label changesLabel justifications:
Evidence reviewedPR surface: Other +217. Total +217 across 1 file. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
Review history (3 earlier review cycles)
|
8a1180a to
3fcbaff
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3fcbaff422
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
3fcbaff to
1c0e3cf
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1c0e3cf67d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
|
Land-ready verification for exact head
Known proof gaps: none for the touched test-scanner surface. |
|
Merged via squash.
|
Related: #105859
AI-assisted: yes (Codex)
What Problem This Solves
Fixes an issue where the iOS branded-typography test rejected localized accessibility labels that use SwiftUI
Text, even though those labels are accessibility metadata and are not visually rendered. The Apple localization checker requires that typed form, leaving the two checks contradictory on currentmain.Why This Change Was Made
The typography scanner now excludes
Textcalls used directly byaccessibilityLabel,accessibilityValue, andaccessibilityHint, including multiline formatting and nested localized constructors. A small Swift lexical mask plus balanced-parenthesis scan keeps strings/comments from influencing classification. Ordinary visualTextandLabelcalls remain subject to the branded-font audit, including when they share a line with accessibility metadata.User Impact
No runtime UI behavior changes. Maintainers can keep localized VoiceOver labels in their canonical SwiftUI form without making the typography test fail or weakening visual typography coverage.
Evidence
SettingsProTabSections.swift:877andSettingsProTabSections.swift:1403reported as unbranded offenders.Text/Labeloffenders; accessibility metadata classifier positive and negative samples pass.xcodebuild -project apps/ios/OpenClaw.xcodeproj -scheme OpenClaw -destination 'platform=iOS Simulator,name=iPhone 17,OS=26.5' test -only-testing:OpenClawTests/OpenClawTypographyTests— pass, 11 tests in the focused suite.node --import tsx scripts/apple-app-i18n.ts check— pass on Blacksmith Testboxtbx_01kxdgdkf1frraa2gfw4dnedb5(run 29242957328).pnpm check:changed— pass on the same synced Testbox checkout.swiftformat --lint --config config/swiftformat apps/ios/Tests/OpenClawTypographyTests.swift— pass..agents/skills/autoreview/scripts/autoreview --mode local --stream-engine-output— clean, no accepted/actionable findings (0.88 confidence).