diff --git a/Foodiary/Views/MainTabView.swift b/Foodiary/Views/MainTabView.swift index 23390d0..1f8d9c4 100644 --- a/Foodiary/Views/MainTabView.swift +++ b/Foodiary/Views/MainTabView.swift @@ -29,6 +29,7 @@ struct MainTabView: View { .tabItem { Image(systemName: "flame.fill") Text(L10n["tab.today"]) + .accessibilityIdentifier("main_tab_today") } .tag(0) diff --git a/Foodiary/Views/Onboarding/CalorieResultView.swift b/Foodiary/Views/Onboarding/CalorieResultView.swift index ce258ba..d537130 100644 --- a/Foodiary/Views/Onboarding/CalorieResultView.swift +++ b/Foodiary/Views/Onboarding/CalorieResultView.swift @@ -154,11 +154,13 @@ struct CalorieResultView: View { Text(primaryButtonTitle ?? L10n["action.create_meal_plan"]) } .buttonStyle(PulsePrimaryButtonStyle()) + .accessibilityIdentifier("calorie_result_create_meal_plan_button") Button(action: onEditProfile) { Text(L10n["action.edit_profile"]) } .buttonStyle(PulseSecondaryButtonStyle()) + .accessibilityIdentifier("calorie_result_edit_profile_button") } .padding(.horizontal, 20) diff --git a/Foodiary/Views/Onboarding/GoalSetupView.swift b/Foodiary/Views/Onboarding/GoalSetupView.swift index a9f09aa..99cc9ae 100644 --- a/Foodiary/Views/Onboarding/GoalSetupView.swift +++ b/Foodiary/Views/Onboarding/GoalSetupView.swift @@ -92,6 +92,7 @@ struct GoalSetupView: View { .fill(FoodiaryDesign.pulsePrimary) ) } + .accessibilityIdentifier("goal_setup_next_button") } .padding(.horizontal, 24) .padding(.bottom, 40) @@ -310,6 +311,7 @@ private struct ActivityCard: View { .animation(.spring(response: 0.3, dampingFraction: 0.7), value: isSelected) } .buttonStyle(.plain) + .accessibilityIdentifier("goal_setup_activity_\(option.rawValue)") } } @@ -406,5 +408,6 @@ private struct GoalCard: View { .animation(.spring(response: 0.3, dampingFraction: 0.7), value: isSelected) } .buttonStyle(.plain) + .accessibilityIdentifier("goal_setup_goal_\(option.rawValue)") } } diff --git a/Foodiary/Views/Onboarding/ProfileSetupView.swift b/Foodiary/Views/Onboarding/ProfileSetupView.swift index ca943ae..78b53e8 100644 --- a/Foodiary/Views/Onboarding/ProfileSetupView.swift +++ b/Foodiary/Views/Onboarding/ProfileSetupView.swift @@ -115,6 +115,7 @@ struct ProfileSetupView: View { .fill(FoodiaryDesign.pulsePrimary) ) } + .accessibilityIdentifier("profile_setup_next_button") } .padding(.horizontal, 24) .padding(.bottom, 40) @@ -158,6 +159,7 @@ struct ProfileSetupView: View { .foregroundColor(FoodiaryDesign.pulsePrimary) .contentTransition(.numericText()) .animation(.easeOut(duration: 0.08), value: value) + .accessibilityIdentifier("profile_setup_value_label") Text(activeField.unit) .font(.system(size: 12, weight: .bold)) @@ -226,6 +228,7 @@ struct ProfileSetupView: View { .scaleEffect(localSex == option ? 1.02 : 1.0) } .buttonStyle(.plain) + .accessibilityIdentifier("profile_setup_sex_option_\(option.rawValue)") } } .padding(.horizontal, 24) diff --git a/Foodiary/Views/Onboarding/WelcomeView.swift b/Foodiary/Views/Onboarding/WelcomeView.swift index ee6dbec..1eb50d2 100644 --- a/Foodiary/Views/Onboarding/WelcomeView.swift +++ b/Foodiary/Views/Onboarding/WelcomeView.swift @@ -53,6 +53,7 @@ struct WelcomeView: View { Text(L10n["onboarding.welcome.get_started"]) } .buttonStyle(PulsePrimaryButtonStyle()) + .accessibilityIdentifier("welcome_get_started_button") .padding(.horizontal, 60) .padding(.bottom, 32)