Agent skill
axiom-ios-accessibility
Use when fixing or auditing ANY accessibility issue - VoiceOver, Dynamic Type, color contrast, touch targets, WCAG compliance, App Store accessibility review.
Install this agent skill to your Project
npx add-skill https://github.com/CharlesWiltgen/Axiom/tree/main/.claude-plugin/plugins/axiom/skills/axiom-ios-accessibility
SKILL.md
iOS Accessibility Router
You MUST use this skill for ANY accessibility work including VoiceOver, Dynamic Type, color contrast, and WCAG compliance.
When to Use
Use this router when:
- Fixing VoiceOver issues
- Implementing Dynamic Type
- Checking color contrast
- Ensuring touch target sizes
- Preparing for App Store accessibility review
- WCAG compliance auditing
- Assistive Access support (cognitive disabilities, iOS 17+)
Routing Logic
Accessibility Issues
All accessibility work → /skill axiom-accessibility-diag
- VoiceOver labels and hints
- Dynamic Type scaling
- Color contrast (WCAG)
- Touch target sizes
- Keyboard navigation
- Reduce Motion support
- Assistive Access (cognitive disabilities, iOS 17+)
- Accessibility Inspector usage
- App Store Review preparation
Automated Scanning
Accessibility audit → Launch accessibility-auditor agent or /axiom:audit accessibility (VoiceOver issues, Dynamic Type violations, color contrast failures, WCAG compliance scanning)
Decision Tree
- ANY accessibility issue → accessibility-diag
- Want automated accessibility scan? → accessibility-auditor (Agent)
Anti-Rationalization
| Thought | Reality |
|---|---|
| "I'll add VoiceOver labels when I'm done building" | Accessibility is foundational, not polish. accessibility-diag prevents App Store rejection. |
| "My app doesn't need accessibility" | All apps need accessibility. It's required by App Store guidelines and benefits all users. |
| "Dynamic Type just needs .scaledFont" | Dynamic Type has 7 common violations. accessibility-diag catches them all. |
| "Color contrast looks fine to me" | Visual assessment is unreliable. WCAG ratios require measurement. accessibility-diag validates. |
Critical Patterns
Image Accessibility
- Use
Image(decorative: "photo")for purely decorative images — automatically hidden from VoiceOver (equivalent toaccessibilityHidden(true)but semantically clearer) - Use
accessibilityInputLabels()for buttons with complex or changing labels — improves Voice Control accuracy by providing alternative labels - Respect
accessibilityDifferentiateWithoutColorenvironment value — when active, provide non-color cues (icons, patterns, labels) alongside color indicators
accessibility-diag Coverage
- 8 critical accessibility issues (including Assistive Access)
- WCAG compliance levels (A, AA, AAA)
- Assistive Access mode (cognitive disabilities, iOS 17+)
- Accessibility Inspector workflows
- VoiceOver testing checklist
- App Store Review requirements
Example Invocations
User: "My button isn't being read by VoiceOver"
→ Invoke: /skill axiom-accessibility-diag
User: "How do I support Dynamic Type?"
→ Invoke: /skill axiom-accessibility-diag
User: "Check my app for accessibility issues"
→ Invoke: /skill axiom-accessibility-diag
User: "Prepare for App Store accessibility review"
→ Invoke: /skill axiom-accessibility-diag
User: "Scan my app for accessibility issues automatically"
→ Invoke: accessibility-auditor agent
User: "How do I support Assistive Access?"
→ Invoke: /skill axiom-accessibility-diag
User: "My app doesn't show up in Assistive Access"
→ Invoke: /skill axiom-accessibility-diag
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
axiom-mapkit-diag
MapKit troubleshooting — annotations not appearing, region jumping, clustering not working, search failures, overlay rendering issues, user location problems
axiom-core-location
Use for Core Location implementation patterns - authorization strategy, monitoring strategy, accuracy selection, background location
axiom-energy
Use when app drains battery, device gets hot, users report energy issues, or auditing power consumption - systematic Power Profiler diagnosis, subsystem identification (CPU/GPU/Network/Location/Display), anti-pattern fixes for iOS/iPadOS
axiom-audit-storage
Use when the user mentions file storage issues, data loss, backup bloat, or asks to audit storage usage.
axiom-app-store-connect-ref
Use when navigating App Store Connect to find crash data, read TestFlight feedback, interpret metrics dashboards, or export diagnostic logs. Covers crash-free rates, dSYM symbolication, termination types, MetricKit.
axiom-testflight-triage
Use when ANY beta tester reports a crash, ANY crash appears in Organizer or App Store Connect, crash logs need symbolication, app was killed without crash report, or you need to triage TestFlight feedback
Didn't find tool you were looking for?