iOS VoiceOver accessibility overhaul — 67 files
New framework:
- AccessibilityLabels.swift: centralized A11y struct with VoiceOver strings
- AccessibilityModifiers.swift: reusable .a11yHeader, .a11yDecorative,
.a11yButton, .a11yCard, .a11yStatValue View extensions
Shared components: decorative elements hidden, stat views combined,
status/priority badges labeled, error views announced, empty states grouped
Cards: ResidenceCard, TaskCard, DynamicTaskCard, ContractorCard,
DocumentCard, WarrantyCard — all grouped with combined labels,
chevrons hidden, action buttons labeled
Main screens: Login, Register, Residences, Tasks, Contractors, Documents —
toolbar buttons labeled, section headers marked, form field hints added
Onboarding: all 10 views — header traits, button hints, task selection
state, progress indicator, decorative backgrounds hidden
Profile/Subscription: toggle hints, theme selection state, feature
comparison table accessibility, subscription button labels
iOS build verified: BUILD SUCCEEDED