Open new workouts directly and improve accessibility

Starting a workout — from the split picker or a split's exercise list —
now drops straight into its log screen once the cache catches up, via a
shared StartedWorkoutNavigator. Adds VoiceOver labels/values to the log
checkboxes and the settings button, a color-independent numbered legend
and spoken summary to the heart-rate-zone bar, and Dynamic Type scaling
to the run-flow badges and timer.

Claude-Session: https://claude.ai/code/session_01HJDQQDA9QdP8zByg43H5v3
This commit is contained in:
2026-07-08 07:59:30 -04:00
parent 1b399ee7ba
commit e04eb83e70
7 changed files with 158 additions and 43 deletions
@@ -32,6 +32,9 @@ struct CalendarListItem: View {
}
.padding([.trailing], 10)
}
// Read the date as one phrase instead of three disjoint "Mon" / "14" / "Jul" stops.
.accessibilityElement(children: .ignore)
.accessibilityLabel(date.formatted(date: .complete, time: .omitted))
HStack(alignment: .top) {
VStack(alignment: .leading) {
Text(title)