iOS SDK
Native accessibility testing for iOS apps. Wraps Apple's iOS 17 Accessibility Audit API + 8 custom detectors. In-app overlay, XCTest matchers, AI fix generation.
WCAG-grade accessibility testing for iOS apps. Three Swift libraries:
WebAbilityA11y— core auditor (Apple API + 8 custom Swift detectors)WebAbilityA11yUI— in-app debug overlay (shake-to-toggle floating panel)WebAbilityA11yTesting— XCTest matchers for design-system + UI tests
Install (Swift Package Manager)
Or in Xcode: File → Add Packages → paste the URL.
Quick start
XCUITest
In-app overlay
What we detect
| Source | WCAG | What |
|---|---|---|
| Apple audit API (iOS 17+) | 1.4.3 | Contrast |
| Apple audit API | 1.1.1 | Missing element descriptions |
| Apple audit API | 1.4.4 | Dynamic type support |
| Apple audit API | 2.5.8 | Hit region size |
| Apple audit API | 1.4.10 | Text clipped |
| Apple audit API | 4.1.2 | Incorrect traits |
| Custom (iOS 15+) | 1.3.1 | Heading hierarchy |
| Custom | 2.4.3 | Focus order |
| Custom | 2.3.3 | Reduced motion compliance |
| Custom | 1.4.1 | Color-only meaning |
| Custom | 3.3.2 | Required form indicators |
| Custom | 1.1.1 | Missing image labels |
| Custom | 4.1.2 | Icon-only buttons unlabeled |
| Custom | 2.5.8 | Touch target size (covers all UIControl) |
AI fix
Returns 1–3 alternatives with explanation, contrast ratio (for color issues), and ready-to-paste Swift code (UIKit or SwiftUI).
Visual audit (Claude vision)
For pixel-level issues that structural detectors can't catch — icon contrast, focus rings, "looks like a button but isn't" — use scanVisual or the combined scanFull:
What scanVisual catches that scan misses:
- 1.4.11 icon/border contrast (vs adjacent colors, not just text/background)
- 2.4.7 focus indicator visibility
- 4.1.2 affordance mismatches (looks tappable but isn't tagged)
- 1.4.5 text rendered as images
- 2.5.8 touch target spacing exceptions
Cost ~$0.001/screen via Claude Haiku vision. Pass brandColors so the model knows your palette and doesn't flag intentional brand colors.
Requirements
- iOS 15+ (custom detectors and overlay)
- iOS 17+ (Apple's audit API for XCUITest)
- Xcode 15, Swift 5.9