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 to accessibilityHidden(true) but semantically clearer)
-
Use accessibilityInputLabels() for buttons with complex or changing labels — improves Voice Control accuracy by providing alternative labels
-
Respect accessibilityDifferentiateWithoutColor environment 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