Mobile Audit W1-B: Accessibility Foundation - #4697
Conversation
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Executive SummarySince the last review, new commits reworked message-bubble accessibility into a shared Files Reviewed (21 files)
Previous Review Summaries (2 snapshots, latest commit 924f148)Current summary above is authoritative. Previous snapshots are kept for context only. Previous review (commit 924f148)Status: No Issues Found | Recommendation: Merge Executive SummaryThe only change since the previous review (adding Files Reviewed (1 file)
Previous review (commit f7b5e02)Status: 2 Issues Found | Recommendation: Address before merge Executive SummaryThe highest-risk finding is a font-scale/line-height mismatch in the new bounded PR-diff metrics helper ( Overview
Issue Details (click to expand)WARNING
SUGGESTION
Files Reviewed (60 files)
Reviewed by claude-sonnet-5 · Input: 74 · Output: 20.8K · Cached: 2.7M Review guidance: REVIEW.md from base branch |
…w1-accessibility-foundation # Conflicts: # apps/mobile/src/components/agents/message-bubble.test.ts # apps/mobile/src/components/agents/message-bubble.tsx # apps/mobile/src/components/agents/session-detail-content.tsx # apps/mobile/src/components/pr-review/diff/pr-diff-file-list.tsx # apps/mobile/src/components/screen-header.tsx
…r universal-links merge
…w1-accessibility-foundation # Conflicts: # apps/mobile/.kilo/WORKFLOW_LEARNINGS.md
Resolutions: - vitest.config.ts: keep main's projects split; move the a11y include into vitest.pure.config.ts - message-bubble.test.ts: drop the now-unused SDK type import (moved to message-bubble-test-utils.ts) and use the renamed @kilocode/cloud-agent-sdk
Mobile Audit W1-B — Accessibility Foundation
Implements the 13-slice accessibility-foundation plan for the mobile app (iOS + Android). All changes are scoped to
apps/mobile/; no web/service/DB/native-sibling code is touched. Each slice landed as its own small commit with co-located unit tests.Two audit-reproduced defects are the acceptance anchors:
Verify/Resend/Backwere occluded by the number pad at Dynamic Type XXXL.Slices
allowFontScaling={false}, variable-height rows)muted-softtext + contrast-pair assertion (kept in sync acrossglobal.cssand the static color mirror)hitSlopgosubmits the emailKeyboardAvoidingView)Main merge (2026-07-27, two base advances)
origin/mainwas merged twice; every behavior from both sides is preserved. Plain-language summary of what the merge resolution changed on this branch:use-pr-diff-list-scroll) to satisfy the file-size lint without changing behavior.Open in "Kilo"?confirmation that iOS shows forsimctl openurlsince universal links (associatedDomains) were configured on main; the runbook bullet that claimedsimctl openurlskips confirmations was corrected./pulls/{n}/filesendpoint).Design principle
UX primacy governs: font scaling is bounded to preserve density, 44pt targets are reached via
hitSloprather than bulk, and screen-reader affordances (announce/focus,accessibilityActions, labels/roles) are preferred over visible changes.Verification
pnpm format && pnpm typecheck && pnpm lint && pnpm check:unused && pnpm testgreen (263 test files / 2252 tests) on the merged head.mobile-reviewerover the full merge-resolution diff: No findings.User message/Assistant message) present;Non-goals (preserved audit refutations)
Normal Agent keyboard avoidance, malformed deep-link handling, force-update foreground-recheck (QB-18), generic Reduce-Motion, persisted-cache durability, and landscape/iPad orientation are explicitly out of scope.