Files
WerkoutIOS/docs/step7_ui_accessibility_round1.md

63 lines
2.7 KiB
Markdown

# Step 7 UI/State/Accessibility Round 1
## Coverage
- Reviewed and patched high-traffic iOS/watchOS UI paths:
- workout browsing, planned workouts, workout detail, create-workout flow, login, watch main view
- Ran validation:
- `./scripts/smoke/smoke_all.sh`
## Fixes Applied
1. Create workout state consistency and duplicate-submit prevention
- `iphone/Werkout_ios/Views/CreateWorkout/CreateViewModels.swift`
- Added `isUploading` gate, title trimming validation, shared `WorkoutValidation` integration.
2. Weight stepper logic bug
- `iphone/Werkout_ios/Views/CreateWorkout/CreateViewModels.swift`
- Fixed weight decrement mismatch (`-15` to `-5`) to match increment behavior.
3. Create-workout UX cleanup and accessibility
- `iphone/Werkout_ios/Views/CreateWorkout/CreateWorkoutMainView.swift`
- Replaced visible sentinel row with hidden spacer, disabled upload button while uploading, added button labels/hints.
4. Superset editing accessibility/state
- `iphone/Werkout_ios/subview/CreateWorkoutSupersetView.swift`
- Avoided sheet toggle race by setting `showAddExercise = true`; added accessibility labels/hints.
5. Exercise action controls accessibility
- `iphone/Werkout_ios/Views/CreateWorkout/CreateExerciseActionsView.swift`
- Added accessibility labels to steppers and icon-only controls.
6. Workout list/planned list row accessibility
- `iphone/Werkout_ios/Views/AllWorkouts/AllWorkoutsListView.swift`
- `iphone/Werkout_ios/subview/PlannedWorkoutView.swift`
- Converted tap-only rows to plain `Button`s for VoiceOver/focus reliability.
7. Workout detail list ordering/scroll stability
- `iphone/Werkout_ios/Views/WorkoutDetail/ExerciseListView.swift`
- Aligned list ordering with sorted superset order and introduced stable row IDs for consistent scroll targeting.
8. Workout detail control accessibility + progress text guard
- `iphone/Werkout_ios/Views/WorkoutDetail/WorkoutDetailView.swift`
- Added accessibility labels to icon-only controls and avoided negative progress display.
9. Login form input/accessibility improvements
- `iphone/Werkout_ios/Views/Login/LoginView.swift`
- Added keyboard/input autocorrection settings and accessibility labels/hints.
10. HealthKit auth safety/logging in all-workouts screen
- `iphone/Werkout_ios/Views/AllWorkouts/AllWorkoutsView.swift`
- Removed force-unwrapped HK types and added runtime warning on failed authorization.
11. watchOS no-workout screen and accessibility polish
- `iphone/Werkout_watch Watch App/MainWatchView.swift`
- Replaced emoji placeholder with clear status text/icon and added combined accessibility labels.
## Validation
- Smoke suite passed after fixes:
- token scan
- SharedCore tests
- iOS/watchOS/tvOS builds