.claude-plugin/plugins/axiom/skills/axiom-ios-accessibility/SKILL.md
Use when fixing or auditing ANY accessibility issue - VoiceOver, Dynamic Type, color contrast, touch targets, WCAG compliance, App Store accessibility review.
npx skillsauth add charleswiltgen/axiom axiom-ios-accessibilityInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You MUST use this skill for ANY accessibility work including VoiceOver, Dynamic Type, color contrast, and WCAG compliance.
Use this router when:
All accessibility work → /skill axiom-accessibility-diag
Accessibility audit → Launch accessibility-auditor agent or /axiom:audit accessibility (VoiceOver issues, Dynamic Type violations, color contrast failures, WCAG compliance scanning)
| 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. |
Image(decorative: "photo") for purely decorative images — automatically hidden from VoiceOver (equivalent to accessibilityHidden(true) but semantically clearer)accessibilityInputLabels() for buttons with complex or changing labels — improves Voice Control accuracy by providing alternative labelsaccessibilityDifferentiateWithoutColor environment value — when active, provide non-color cues (icons, patterns, labels) alongside color indicatorsUser: "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
development
Use when building ANY watchOS app — app structure, independent apps, Watch Connectivity, Smart Stack widgets, complications, controls, RelevanceKit, background tasks, ClockKit migration.
development
Use when working with HealthKit, WorkoutKit, health data, workouts, or fitness features on iOS or watchOS. Covers permissions, queries, background delivery, custom workouts, multidevice coordination.
development
Use when building, fixing, or improving ANY SwiftUI UI — views, navigation, layout, animations, performance, architecture, gestures, debugging, iOS 26 features.
content-media
Use when working with camera, photos, audio, haptics, ShazamKit, or Now Playing. Covers AVCaptureSession, PHPicker, PhotosPicker, AVFoundation, Core Haptics, audio recognition, MediaPlayer, CarPlay, MusicKit.