/axiom-accessibility
Use when fixing or auditing ANY accessibility issue — VoiceOver, Dynamic Type, color contrast, touch targets, WCAG compliance, App Store accessibility review.
$ npx -y skills add charleswiltgen/axiom --skill axiom-accessibility --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/axiom-accessibility
Context preview
The summary Claude sees to decide when to auto-load this skill.
Use when fixing or auditing ANY accessibility issue — VoiceOver, Dynamic Type, color contrast, touch targets, WCAG compliance, App Store accessibility review.
SKILL.md
axiom-accessibility.SKILL.mdname: axiom-accessibility
description: Use when fixing or auditing ANY accessibility issue — VoiceOver, Dynamic Type, color contrast, touch targets, WCAG compliance, App Store accessibility review.
license: MIT
Accessibility
**You MUST use this skill for ANY accessibility work including VoiceOver, Dynamic Type, color contrast, WCAG compliance, and UX flow auditing.**
<!-- AXIOM_AUDITOR_INLINE_BEGIN — auto-maintained by scripts/build-inlined-auditors.ts; do not hand-edit --> > **Not on Claude Code?** Where this router says "Launch `some-auditor` agent", read that auditor's file in this suite and follow it inline — the same procedure, needing only file search and read. > > Available here: `skills/accessibility-auditor.md`. > Homed in another suite: `axiom-concurrency/skills/concurrency-auditor.md`, `axiom-data/skills/swiftdata-auditor.md`, `axiom-swiftui/skills/swiftui-nav-auditor.md`, `axiom-swiftui/skills/ux-flow-auditor.md`. > > Agents that need Bash — builds, tests, simulators, crash symbolication — stay Claude Code-only; there is no inline equivalent for those. <!-- AXIOM_AUDITOR_INLINE_END -->
Quick Reference
| Symptom / Task | Reference | |----------------|-----------| | VoiceOver labels, hints, navigation | See `skills/accessibility-diag.md` | | Dynamic Type scaling violations | See `skills/accessibility-diag.md` | | Dynamic Type on tvOS (Large Text, tvOS 27) | See `skills/accessibility-diag.md` | | Long-form reading apps (continuous reading, Speak Screen, text navigation) | See `skills/accessibility-diag.md` | | Captions & subtitle styling in video players (generated subtitles, style preview) | See `skills/accessibility-diag.md` | | Custom control technique choice (adjustable, passthrough, direct touch) | See `skills/accessibility-diag.md` | | Accessibility Nutrition Labels | See `skills/accessibility-diag.md` | | Color contrast (WCAG AA/AAA) | See `skills/accessibility-diag.md` | | Touch target sizes (< 44x44pt) | See `skills/accessibility-diag.md` | | Keyboard navigation (iPadOS/macOS) | See `skills/accessibility-diag.md` | | Button Shapes, Large Content Viewer, Full Keyboard Access, Switch Control | See `skills/accessibility-diag.md` | | VoiceOver order broken after resize / column collapse; table & grid semantics | See `skills/accessibility-diag.md` | | Reduce Motion support | See `skills/accessibility-diag.md` | | Assistive Access (cognitive, iOS 17+) | See `skills/accessibility-diag.md` | | Accessibility Inspector workflows | See `skills/accessibility-diag.md` | | App Store Review preparation | See `skills/accessibility-diag.md` | | UX dead ends, dismiss traps | See `skills/ux-flow-audit.md` | | Buried CTAs, missing empty states | See `skills/ux-flow-audit.md` | | Missing loading/error states | See `skills/ux-flow-audit.md` | | Deep link dead ends | See `skills/ux-flow-audit.md` | | Accessibility dead ends (gesture-only) | See `skills/ux-flow-audit.md` | | watchOS-specific (VoiceOver rotor on Digital Crown, AssistiveTouch, Double Tap) | See `skills/watchos-a11y.md` |
Cross-Suite Routes
- Full watchOS development context → See axiom-watchos
- Live accessibility validation on the simulator (set toggles, assert announcements) → `simulator-tester` agent + `xcui` — see axiom-tools (skills/xcui-ref.md)
Decision Tree
digraph accessibility {
start [label="Accessibility issue" shape=ellipse];
what [label="What type?" shape=diamond];
start -> what;
what -> "skills/accessibility-diag.md" [label="VoiceOver/labels/hints"];
what -> "skills/accessibility-diag.md" [label="Dynamic Type"];
what -> "skills/accessibility-diag.md" [label="color contrast"];
what -> "skills/accessibility-diag.md" [label="touch targets"];
what -> "skills/accessibility-diag.md" [label="keyboard nav"];
what -> "skills/accessibility-diag.md" [label="resizable window / desktop-class"];
what -> "skills/accessibility-diag.md" [label="Reduce Motion"];
what -> "skills/accessibility-diag.md" [label="Assistive Access"];
what -> "skills/accessibility-diag.md" [label="custom control techniques"];
what -> "skills/accessibility-diag.md" [label="continuous reading / text navigation"];
what -> "skills/accessibility-diag.md" [label="captions / subtitle styling"];
what -> "skills/accessibility-diag.md" [label="App Store prep / Nutrition Labels"];
what -> "skills/ux-flow-audit.md" [label="UX dead end/dismiss trap"];
what -> "skills/ux-flow-audit.md" [label="missing states"];
what -> "skills/watchos-a11y.md" [label="watchOS VoiceOver / AssistiveTouch / Double Tap"];
what -> "accessibility-auditor" [label="automated scan" shape=box];
}1. ANY VoiceOver, Dynamic Type (including tvOS Large Text), contrast, touch target, or WCAG issue → `skills/accessibility-diag.md` 2. Assistive Access (cognitive disabilities, iOS 17+) → `skills/accessibility-diag.md` 3. App Store accessibility rejection or Nutrition Labels → `skills/accessibility-diag.md` 4. Reading app: VoiceOver stops at paragraphs/pages, Speak Screen halts → `skills/accessibility-diag.md` 5. UX dead ends, dismiss traps, buried CTAs, missing states → `skills/ux-flow-audit.md` 6. watchOS-specific accessibility (rotor on Digital Crown, AssistiveTouch, Double Tap) → `skills/watchos-a11y.md` 7. Want automated accessibility scan? → `accessibility-auditor` agent or `/axiom:audit accessibility`
Automated Scanning
**Accessibility audit** → Launch `accessibility-auditor` agent or `/axiom:audit accessibility`
- VoiceOver labels and hints
- Dynamic Type violations
- Color contrast failures
- WCAG compliance scanning
**UX flow audit** → Launch `ux-flow-auditor` agent
- Dead-end views, dismiss traps
- Buried CTAs, missing empty/loading/error states
- Deep link dead ends, accessibility dead ends
Critical Patterns
Image Accessibility
- Use `Image(decorative: "photo")` for purely decorative images — automatically hidden from VoiceOver (equivalent to `accessibilityHidde
Read more
name: axiom-accessibility description: Use when fixing or auditing ANY accessibility issue — VoiceOver, Dynamic Type, color contrast, touch targets, WCAG compliance, App Store accessibility review. license: MIT
Accessibility
**You MUST use this skill for ANY accessibility work including VoiceOver, Dynamic Type, color contrast, WCAG compliance, and UX flow auditing.**
<!-- AXIOM_AUDITOR_INLINE_BEGIN — auto-maintained by scripts/build-inlined-auditors.ts; do not hand-edit --> > **Not on Claude Code?** Where this router says "Launch `some-auditor` agent", read that auditor's file in this suite and follow it inline — the same procedure, needing only file search and read. > > Available here: `skills/accessibility-auditor.md`. > Homed in another suite: `axiom-concurrency/skills/concurrency-auditor.md`, `axiom-data/skills/swiftdata-auditor.md`, `axiom-swiftui/skills/swiftui-nav-auditor.md`, `axiom-swiftui/skills/ux-flow-auditor.md`. > > Agents that need Bash — builds, tests, simulators, crash symbolication — stay Claude Code-only; there is no inline equivalent for those. <!-- AXIOM_AUDITOR_INLINE_END -->
Quick Reference
| Symptom / Task | Reference | |----------------|-----------| | VoiceOver labels, hints, navigation | See `skills/accessibility-diag.md` | | Dynamic Type scaling violations | See `skills/accessibility-diag.md` | | Dynamic Type on tvOS (Large Text, tvOS 27) | See `skills/accessibility-diag.md` | | Long-form reading apps (continuous reading, Speak Screen, text navigation) | See `skills/accessibility-diag.md` | | Captions & subtitle styling in video players (generated subtitles, style preview) | See `skills/accessibility-diag.md` | | Custom control technique choice (adjustable, passthrough, direct touch) | See `skills/accessibility-diag.md` | | Accessibility Nutrition Labels | See `skills/accessibility-diag.md` | | Color contrast (WCAG AA/AAA) | See `skills/accessibility-diag.md` | | Touch target sizes (< 44x44pt) | See `skills/accessibility-diag.md` | | Keyboard navigation (iPadOS/macOS) | See `skills/accessibility-diag.md` | | Button Shapes, Large Content Viewer, Full Keyboard Access, Switch Control | See `skills/accessibility-diag.md` | | VoiceOver order broken after resize / column collapse; table & grid semantics | See `skills/accessibility-diag.md` | | Reduce Motion support | See `skills/accessibility-diag.md` | | Assistive Access (cognitive, iOS 17+) | See `skills/accessibility-diag.md` | | Accessibility Inspector workflows | See `skills/accessibility-diag.md` | | App Store Review preparation | See `skills/accessibility-diag.md` | | UX dead ends, dismiss traps | See `skills/ux-flow-audit.md` | | Buried CTAs, missing empty states | See `skills/ux-flow-audit.md` | | Missing loading/error states | See `skills/ux-flow-audit.md` | | Deep link dead ends | See `skills/ux-flow-audit.md` | | Accessibility dead ends (gesture-only) | See `skills/ux-flow-audit.md` | | watchOS-specific (VoiceOver rotor on Digital Crown, AssistiveTouch, Double Tap) | See `skills/watchos-a11y.md` |
Cross-Suite Routes
- Full watchOS development context → See axiom-watchos
- Live accessibility validation on the simulator (set toggles, assert announcements) → `simulator-tester` agent + `xcui` — see axiom-tools (skills/xcui-ref.md)
Decision Tree
digraph accessibility {
start [label="Accessibility issue" shape=ellipse];
what [label="What type?" shape=diamond];
start -> what;
what -> "skills/accessibility-diag.md" [label="VoiceOver/labels/hints"];
what -> "skills/accessibility-diag.md" [label="Dynamic Type"];
what -> "skills/accessibility-diag.md" [label="color contrast"];
what -> "skills/accessibility-diag.md" [label="touch targets"];
what -> "skills/accessibility-diag.md" [label="keyboard nav"];
what -> "skills/accessibility-diag.md" [label="resizable window / desktop-class"];
what -> "skills/accessibility-diag.md" [label="Reduce Motion"];
what -> "skills/accessibility-diag.md" [label="Assistive Access"];
what -> "skills/accessibility-diag.md" [label="custom control techniques"];
what -> "skills/accessibility-diag.md" [label="continuous reading / text navigation"];
what -> "skills/accessibility-diag.md" [label="captions / subtitle styling"];
what -> "skills/accessibility-diag.md" [label="App Store prep / Nutrition Labels"];
what -> "skills/ux-flow-audit.md" [label="UX dead end/dismiss trap"];
what -> "skills/ux-flow-audit.md" [label="missing states"];
what -> "skills/watchos-a11y.md" [label="watchOS VoiceOver / AssistiveTouch / Double Tap"];
what -> "accessibility-auditor" [label="automated scan" shape=box];
}1. ANY VoiceOver, Dynamic Type (including tvOS Large Text), contrast, touch target, or WCAG issue → `skills/accessibility-diag.md` 2. Assistive Access (cognitive disabilities, iOS 17+) → `skills/accessibility-diag.md` 3. App Store accessibility rejection or Nutrition Labels → `skills/accessibility-diag.md` 4. Reading app: VoiceOver stops at paragraphs/pages, Speak Screen halts → `skills/accessibility-diag.md` 5. UX dead ends, dismiss traps, buried CTAs, missing states → `skills/ux-flow-audit.md` 6. watchOS-specific accessibility (rotor on Digital Crown, AssistiveTouch, Double Tap) → `skills/watchos-a11y.md` 7. Want automated accessibility scan? → `accessibility-auditor` agent or `/axiom:audit accessibility`
Automated Scanning
**Accessibility audit** → Launch `accessibility-auditor` agent or `/axiom:audit accessibility`
- VoiceOver labels and hints
- Dynamic Type violations
- Color contrast failures
- WCAG compliance scanning
**UX flow audit** → Launch `ux-flow-auditor` agent
- Dead-end views, dismiss traps
- Buried CTAs, missing empty/loading/error states
- Deep link dead ends, accessibility dead ends
Critical Patterns
Image Accessibility
- Use `Image(decorative: "photo")` for purely decorative images — automatically hidden from VoiceOver (equivalent to `accessibilityHidde
Battle-tested skills, agents, and tools for modern Apple OS development — Swift 6, SwiftUI, Liquid Glass, Apple Intelligence, and more. Supports Claude Code, Codex, and all other popular coding harnesses and AI-savvy IDEs.
Repo: charleswiltgen/axiom
Other skills on axiom.
- /axiom-ai
Use when implementing, testing, or evaluating ANY Apple Intelligence, on-device AI, or speech-to-text feature. Covers Foundation Models, @Generable, LanguageModelSession, Tool protocol, eval suites, model-as-judge scoring, SpeechTranscriber, CoreML.
Open skill - /axiom-analyze-crash
Use when the user has a crash log (.
Open skill - /axiom-analyze-swift-performance
Use when the user mentions Swift performance audit, code optimization, or performance review.
Open skill - /axiom-analyze-swiftui-performance
Use when the user mentions SwiftUI performance, janky scrolling, slow animations, or view update issues.
Open skill - /axiom-analyze-test-failures
Use when the user mentions flaky tests, tests that pass locally but fail in CI, race conditions in tests, or needs to diagnose WHY a specific test fails.
Open skill - /axiom-analyze-triage
Use when the user wants to triage a CORPUS of production crashes/hangs from an aggregator (Sentry, App Store Connect) — grouped, counted issues — rather than a single crash file.
Open skill

