Complete accessibility identifier coverage across all 152 project files
Exhaustive file-by-file audit of every Swift file in the project (iOS app, Watch app, Widget extension). Every interactive UI element — buttons, toggles, pickers, links, menus, tap gestures, text editors, color pickers, photo pickers — now has an accessibilityIdentifier for XCUITest automation. 46 files changed across Shared/, Onboarding/, Watch App/, and Widget targets. Added ~100 new ID definitions covering settings debug controls, export/photo views, sharing templates, customization subviews, onboarding flows, tip modals, widget voting buttons, and watch mood buttons.
This commit is contained in:
@@ -277,6 +277,7 @@ struct InsightsSectionView: View {
|
||||
.padding(.vertical, 14)
|
||||
}
|
||||
.buttonStyle(.plain)
|
||||
.accessibilityIdentifier(AccessibilityID.Insights.expandCollapseButton)
|
||||
.accessibilityAddTraits(.isHeader)
|
||||
|
||||
// Insights List (collapsible)
|
||||
|
||||
@@ -146,6 +146,7 @@ struct ReportDateRangePicker: View {
|
||||
.background(Color.accentColor.opacity(0.15))
|
||||
.clipShape(Circle())
|
||||
}
|
||||
.accessibilityIdentifier(AccessibilityID.Reports.previousMonthButton)
|
||||
.accessibilityLabel("Previous month")
|
||||
|
||||
Spacer()
|
||||
@@ -172,6 +173,7 @@ struct ReportDateRangePicker: View {
|
||||
.background(Color.accentColor.opacity(0.15))
|
||||
.clipShape(Circle())
|
||||
}
|
||||
.accessibilityIdentifier(AccessibilityID.Reports.nextMonthButton)
|
||||
.accessibilityLabel("Next month")
|
||||
.disabled(isDisplayingCurrentMonth)
|
||||
}
|
||||
@@ -341,6 +343,7 @@ private struct ReportDayCell: View {
|
||||
}
|
||||
.buttonStyle(.plain)
|
||||
.disabled(isFuture)
|
||||
.accessibilityIdentifier(AccessibilityID.Reports.dayCell(dateString: dayNumber))
|
||||
.frame(height: 40)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,7 +95,9 @@ struct ReportsView: View {
|
||||
viewModel.exportDataPDF()
|
||||
}
|
||||
}
|
||||
.accessibilityIdentifier(AccessibilityID.Reports.privacyShareButton)
|
||||
Button(String(localized: "Cancel"), role: .cancel) {}
|
||||
.accessibilityIdentifier(AccessibilityID.Reports.privacyCancelButton)
|
||||
} message: {
|
||||
Text("This report contains your personal mood data and journal notes. Only share it with people you trust.")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user