Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
charleswiltgen avatar

Axiom Accessibility

  • 658 installs
  • 1.1k repo stars
  • Updated August 3, 2026
  • charleswiltgen/axiom

axiom-accessibility is an agent skill that audits and fixes Apple app accessibility—VoiceOver labels, Dynamic Type, contrast, focus order, and WCAG-aligned checks—for developers who need Axiom apps to pass review and rem

About

axiom-accessibility in charleswiltgen/axiom guides developers through auditing and remediating accessibility in Apple platform apps built with the Axiom workflow. The skill covers VoiceOver label correctness, Dynamic Type scaling, color contrast, keyboard and focus order, and WCAG-aligned checks that commonly fail App Store review or frustrate assistive-technology users. Agents walk issue discovery on native UI surfaces, propose concrete trait and label fixes, and validate that controls remain operable under VoiceOver and larger text sizes. Developers reach for axiom-accessibility when an iOS or macOS build is nearing submission, after QA reports confusing screen-reader navigation, or when contrast and focus bugs appear in production-like builds. Output is a prioritized fix list tied to Apple accessibility expectations rather than generic web-only guidance. Triggers include VoiceOver failures, Dynamic Type layout breaks, insufficient contrast, incorrect accessibility traits, and pre-release accessibility review for Axiom apps.

  • VoiceOver and assistive label guidance
  • Dynamic Type and contrast checks
  • Focus order and hit-target remediation
  • Pre-submission accessibility test pass

Axiom Accessibility by the numbers

  • 658 all-time installs (skills.sh)
  • Ranked #513 of 1,880 Design & UI/UX skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/charleswiltgen/axiom --skill axiom-accessibility

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs658
repo stars1.1k
Last updatedAugust 3, 2026
Repositorycharleswiltgen/axiom

How do you fix VoiceOver and WCAG issues in Apple apps?

Audit and fix Apple app accessibility: VoiceOver labels, Dynamic Type, contrast, focus order, and WCAG-aligned checks so Axiom apps pass review and remain usable for assistive-tech users.

Who is it for?

iOS and macOS developers shipping Axiom apps who must pass App Store accessibility review and support VoiceOver, Dynamic Type, and WCAG-aligned usage.

Skip if: Web-only React or Android projects with no Apple native UI, or teams that only need automated Lighthouse scans without platform-specific remediation.

When should I use this skill?

User reports VoiceOver label problems, Dynamic Type breakage, contrast failures, focus-order bugs, or asks for an accessibility audit before Apple app review.

What you get

Prioritized accessibility audit findings, VoiceOver label and trait fixes, contrast corrections, and validated focus-order changes for assistive-tech users.

  • Accessibility audit findings
  • VoiceOver and trait fix list
  • Contrast and focus-order corrections

Files

SKILL.mdMarkdownGitHub ↗

Accessibility

You MUST use this skill for ANY accessibility work including VoiceOver, Dynamic Type, color contrast, WCAG compliance, and UX flow auditing.

Quick Reference

Symptom / TaskReference
VoiceOver labels, hints, navigationSee skills/accessibility-diag.md
Dynamic Type scaling violationsSee 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 LabelsSee 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
Reduce Motion supportSee skills/accessibility-diag.md
Assistive Access (cognitive, iOS 17+)See skills/accessibility-diag.md
Accessibility Inspector workflowsSee skills/accessibility-diag.md
App Store Review preparationSee skills/accessibility-diag.md
UX dead ends, dismiss trapsSee skills/ux-flow-audit.md
Buried CTAs, missing empty statesSee skills/ux-flow-audit.md
Missing loading/error statesSee skills/ux-flow-audit.md
Deep link dead endsSee 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="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 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

Anti-Rationalization

ThoughtReality
"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.
"UX issues are just polish"UX dead ends cause 1-star reviews. They're defects, not enhancements.
"The dismiss gesture handles it"fullScreenCover has no dismiss gesture. That's the trap.

Example Invocations

User: "My button isn't being read by VoiceOver" → See skills/accessibility-diag.md

User: "How do I support Dynamic Type?" → See skills/accessibility-diag.md

User: "Check my app for accessibility issues" → See skills/accessibility-diag.md

User: "Prepare for App Store accessibility review" → See skills/accessibility-diag.md

User: "Scan my app for accessibility issues automatically" → Launch accessibility-auditor agent

User: "How do I support Assistive Access?" → See skills/accessibility-diag.md

User: "How do I prepare my tvOS app for Large Text?" → See skills/accessibility-diag.md

User: "VoiceOver stops reading at the end of each page in my book app" → See skills/accessibility-diag.md

User: "How do I let users restyle subtitles or get generated captions in my video player?" → See skills/accessibility-diag.md

User: "Check for UX dead ends and dismiss traps" → See skills/ux-flow-audit.md

User: "My fullScreenCover has no way to dismiss" → See skills/ux-flow-audit.md

User: "Are there missing empty states in my app?" → See skills/ux-flow-audit.md

Related skills

How it compares

Pick axiom-accessibility for native Apple and Axiom-specific audits; pick web accessibility checker skills when the surface is HTML/CSS rather than UIKit or SwiftUI controls.

FAQ

What accessibility areas does axiom-accessibility cover?

axiom-accessibility audits VoiceOver labels and traits, Dynamic Type scaling, color contrast, focus order, and WCAG-aligned checks on Apple apps so assistive-technology users can navigate native UI before App Store review.

When should developers invoke axiom-accessibility?

axiom-accessibility fits pre-release Apple builds when VoiceOver navigation fails, text fails to scale under Dynamic Type, contrast is insufficient, or an Axiom app needs remediation to pass accessibility review.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.