1. Accessibility Statement
Spendlens is designed so more people can use the app confidently, regardless of vision, motion sensitivity, or interaction method. We support key Apple accessibility criteria and continuously refine the experience as the product evolves.
Coverage Snapshot
2. Supported Accessibility Features
The following features are currently implemented in production and map directly to Apple’s accessibility support categories.
VoiceOver
SupportedUsers can navigate and explore Spendlens using spoken feedback across key flows.
- 168 accessibility labels
- 54 accessibility hints
- 45 accessibility elements
- Coverage distributed across 96 files
Voice Control
SupportedSwiftUI accessibility labels and identifiers support direct voice interaction patterns.
- 18 accessibility identifiers
- Voice command targetability via identifiable controls
Larger Text
SupportedText and layout scale for readability using dynamic sizing strategies across the app.
- Custom font scaling system (0.8x to 1.5x)
- 871 system-font usages
- 75 minimumScaleFactor instances
- @ScaledMetric usage
Dark Interface
SupportedA full dark appearance is available and can be controlled independently in Settings.
- 3-option mode: System / Light / Dark
- Semantic system colors used throughout the UI
Differentiate Without Color Alone
SupportedMeaning is communicated with additional non-color cues for users with color-vision differences.
- Color Blind Mode remaps gain/loss colors (green/red to blue/orange)
- Arrow icons accompany color-based gain/loss indicators
Sufficient Contrast
SupportedText and icon contrast are tuned for readability and accessibility compliance targets.
- WCAG 2.1 AA contrast ratio engine (GlassIconContrast.swift)
- ContrastAwareColors design system
Reduced Motion
SupportedMotion is reduced or simplified when users enable Reduce Motion in system settings.
- 26 accessibilityReduceMotion checks across animation surfaces
3. Implementation Evidence
| Area | Evidence | Outcome |
|---|---|---|
| Screen reader support | 168 labels, 54 hints, 45 accessibility elements | Core UI is discoverable and narratable with VoiceOver |
| Text readability | 871 system-font usages, custom scaling, @ScaledMetric | Improved legibility across larger text configurations |
| Visual distinction | Color Blind Mode + iconographic reinforcement | Important status changes are not color-only |
| Motion sensitivity | 26 reduce-motion checks in animated interfaces | Animation intensity adapts to user preferences |
4. Testing and Validation
Accessibility is validated throughout development and release cycles using a mix of automated checks and manual interaction testing.
- Manual VoiceOver pass-through for high-traffic flows (dashboard, transactions, settings, onboarding).
- Dynamic Type checks using larger accessibility categories.
- Color-contrast verification using the in-app contrast system and design tokens.
- Reduce Motion behavior checks against iOS system preference.
- Regression checks for labels, hints, and semantic grouping as features evolve.
5. Feedback and Accessibility Requests
If you encounter an accessibility barrier, email support@spendlensapp.com with subject line Accessibility Feedback.
Include the device model, iOS version, app version, and the specific screen or workflow where you experienced the issue.