Accessibility: unlabelled icon buttons, rows that break at large text, unreadable diff lines.
- Only 2
accessibilityLabels in the app (AdminUsersView.swift:97,DashboardView.swift:58) against 68Image(systemName:). Unlabelled: theellipsis.circleaction menus (MRView.swift:617-625,IssueView.swift:219-229), the account,plusandbookmarktoolbar buttons (RepoListView.swift:31-46,297-301), theplus.circle.filladd buttons, and the chip remove "x" (RemovableChips.swift:21-28, identifier only, caption-sized, under 44pt). - At the largest accessibility text size the MR list breaks apart: the "merged" chip wraps one letter per line, the branch becomes
d…, "3 days ago" splits over four lines. Seen in the simulator. - Diff lines (
DiffView.swift:141-155) are fourTexts each, so VoiceOver stops four times per line; the 34pt number columns overflow at accessibility sizes.
Changes:
- Labels:
"Actions","Account","Add label","Remove \(item)", and a 44pt hit area on the chip remove. - List rows:
ViewThatFitsor a vertical stack whendynamicTypeSize.isAccessibilitySize;.fixedSize()on chips. - Diff lines:
.accessibilityElement(children: .combine)with "Added line 13: …"; columns sized with@ScaledMetric.
closed by cmc in commit 41d60b2d2b: Accessibility: icon labels, large-text rows, diff lines (!138)
2026-09-30 02:16 UTC