Skip to content

Phone: every text size and VoiceOver (HIG audit fixes) - #186

Merged
chandralegend merged 2 commits into
mainfrom
fix/hig-audit
Oct 26, 2026
Merged

chandralegend merged 2 commits into
mainfrom
fix/hig-audit

Conversation

@chandralegend

Copy link
Copy Markdown
Contributor

Builds the HIG audit's fifteen prioritised fixes and the approved boards (LargeHome, LargeLedger, LargeBudget, LargeTabs, LargeMore, KeypadDone, AIButtonPlacement (a), SheetGrabber, DiscardDraft, AddOneSheet, DisabledState, NotificationsRefused, DecideEmpty, TargetsAndRows). packages/mobile only, plus docs/design/mobile.md (new Accessibility section) and the changelog.

  • useLargeText() in the kit: rows, ledger rows, amount rows and Home's lines stack from xxxL; Home/More tiles and Books actions one to a row; budget lines stacked; ledger columns grow and stack from AX1; no shrink-to-fit figures; tab labels one line with the Large Content Viewer; widget fonts relativeTo:.
  • Labels on every field, in-app rows and back as buttons, 44 pt minimum, sheet grabber and VoiceOver escape, chart as one labelled image, first-run progress value.
  • Shared Previous/Next/Done bar on number pads, interactive keyboard dismissal, "Discard this draft?" on Add, Import, budget limit and automation rule, account and day chosen inside Add's sheet, AI button in the header, readable disabled states, Open Settings when notifications are refused, Decide's templates A to Z when nothing is due, checkmarks instead of radio circles.

Checked on an iOS 26.5 simulator (Release build from this branch, local server with seeded books) at default, xxxL and AX5, light and dark.

🤖 Generated with Claude Code

chandralegend and others added 2 commits October 27, 2026 02:40
…dit)

The HIG audit found the app's Dynamic Type layouts breaking from xxxL and
fields without names for VoiceOver. This builds the audit's fifteen fixes
and the boards the owner approved.

A kit hook, useLargeText(), stacks Row, AmountRow, LedgerRow and Home's
lines from xxxL, titles first and whole; Home's and More's tiles and Books'
actions go one to a row; a budget line puts its category on its own line;
ledger figure columns grow with the text and stack from AX1; figures are
never shrunk to fit; tab labels stay on one line with the Large Content
Viewer; widget fonts scale (relativeTo:). Every field has its own label,
back and in-app rows are buttons, targets are 44 pt at the least, sheets
have a grabber named Close and answer VoiceOver's escape, the Cash chart is
one labelled image, first run's steps carry a progress value.

Number pads share a Previous, Next and Done bar and forms dismiss the
keyboard interactively; Add, Import, a budget's limit and an automation
rule ask "Discard this draft?" before leaving; Add chooses an account or
a day inside its own sheet; the AI button moves into the header beside +;
unavailable buttons are outlined with what they wait for said; refused
notifications offer Open Settings; Decide with nothing due lists the
server's templates A to Z; choose-one lists use trailing checkmarks.
docs/design/mobile.md gains an Accessibility section.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chandralegend
chandralegend merged commit df370eb into main Oct 26, 2026
13 checks passed
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