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

Accessibility Generator

  • 2 installs
  • 591 repo stars
  • Updated July 24, 2026
  • rshankras/claude-code-apple-skills

Generates SwiftUI accessibility infrastructure for VoiceOver labels, hints, and Dynamic Type support, and audits existing accessibility usage.

About

Generates accessibility labels, hints, and Dynamic Type scaling for iOS/macOS SwiftUI apps and checks existing accessibility coverage. A developer uses it when improving app accessibility or auditing VoiceOver compliance.

  • Adds accessibilityLabel and accessibilityHint to SwiftUI views
  • Configures Dynamic Type support with max-size limits

Accessibility Generator by the numbers

  • 2 all-time installs (skills.sh)
  • Ranked #888 of 1,039 Mobile Development skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/rshankras/claude-code-apple-skills --skill accessibility-generator

Add your badge

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

Listed on Skillselion
Installs2
repo stars591
Last updatedJuly 24, 2026
Repositoryrshankras/claude-code-apple-skills

What it does

Generates SwiftUI accessibility infrastructure for VoiceOver labels, hints, and Dynamic Type support, and audits existing accessibility usage.

Files

SKILL.mdMarkdownGitHub ↗

Accessibility Generator

Generate accessibility infrastructure for VoiceOver, Dynamic Type, and accessibility features.

When This Skill Activates

  • User wants to improve app accessibility
  • User mentions VoiceOver, Dynamic Type, or accessibility
  • User needs to add accessibility labels and hints
  • User wants to audit accessibility compliance

Pre-Generation Checks

# Check existing accessibility usage
grep -r "accessibilityLabel\|accessibilityHint\|AccessibilityFocused" --include="*.swift" | head -5

Key Features

Accessibility Labels

Image(systemName: "heart.fill")
    .accessibilityLabel("Favorite")
    .accessibilityHint("Double tap to remove from favorites")

Dynamic Type Support

Text("Title")
    .font(.title)  // Scales automatically
    .dynamicTypeSize(...DynamicTypeSize.accessibility3)  // Limit max size

Reduce Motion

@Environment(\.accessibilityReduceMotion) private var reduceMotion

withAnimation(reduceMotion ? nil : .spring()) {
    // Animation
}

VoiceOver Groups

VStack {
    Text("Item Name")
    Text("$9.99")
}
.accessibilityElement(children: .combine)

Generated Files

Sources/Accessibility/
├── AccessibilityModifiers.swift   # Custom view modifiers
├── AccessibilityHelpers.swift     # Label builders
└── AccessibilityStrings.swift     # Localized labels

Audit Checklist

  • [ ] All interactive elements have labels
  • [ ] Images have descriptions or are hidden decoratively
  • [ ] Color is not the only indicator
  • [ ] Touch targets are at least 44×44 points
  • [ ] Dynamic Type is supported
  • [ ] Reduce Motion is respected
  • [ ] VoiceOver order is logical

References

Related skills

This week in AI coding

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

unsubscribe anytime.