swift-accessibility-skill

Apply accessibility best practices to SwiftUI, UIKit, and AppKit code.

1|Updated Aug 9, 2026
One-click install
npx skills add https://github.com/OMIXEC/all-in-one-swift-skills --skill swift-accessibility-skill-omixec
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: swift-accessibility-skill
Source: https://github.com/OMIXEC/all-in-one-swift-skills/tree/main/skills/swift-accessibility-skill
Command: npx skills add https://github.com/OMIXEC/all-in-one-swift-skills --skill swift-accessibility-skill-omixec

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? SwiftUI, UIKit, and AppKit code is often written without accessibility support, leaving VoiceOver, Voice Control, Dynamic Type, and other assistive technologies broken and blocking App Store Accessibility Nutrition Label claims. This Skill builds accessibility into the first draft, fixes existing code, and audits apps against all 9 Nutrition Label categories. ## Core Features & Use Cases - First-draft accessibility rules: Automatically adds labels, traits, Reduce Motion gating, Dynamic Type scaling, and 44pt touch targets when generating SwiftUI, UIKit, or AppKit code. - Audits and fixes: Triages issues by severity (Blocks Assistive Tech, Degrades Experience, Incomplete Support) with before/after transformation examples for all three frameworks. - Nutrition Label recommendations: Maps code coverage to all 9 App Store Accessibility Nutrition Label categories with pass/fail criteria and WCAG 2.2 mapping. - Use Case: Ask for a SwiftUI settings screen and receive code with icon-only button labels, Reduce Motion-gated animations, semantic colors, and an Accessibility Summary listing what to verify in Xcode and on device. ## Quick Start Ask the agent to review your SwiftUI view for VoiceOver and Dynamic Type accessibility and apply the required fixes.

Frequently Asked Questions about swift-accessibility-skill

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I make a SwiftUI button accessible to VoiceOver?▼

Buttons with visible text need nothing extra since the text becomes the label automatically. Icon-only buttons need .accessibilityLabel with a descriptive action name, and inferred labels should be marked with a // [VERIFY] comment for human review.

How do I support Dynamic Type in SwiftUI and UIKit?▼

Use semantic text styles like .font(.body) instead of hardcoded sizes, and scale custom values with @ScaledMetric. In UIKit, use preferredFont(forTextStyle:) so text scales with the user's preferred size.

Does this work with UIKit and AppKit or only SwiftUI?▼

It covers all three frameworks with framework-specific APIs: SwiftUI modifiers, UIKit's UIAccessibility properties, and AppKit's NSAccessibility methods. It also includes platform guidance for macOS, watchOS, tvOS, and visionOS.

How do I prepare an App Store Accessibility Nutrition Label?▼

The skill maps your code coverage to all 9 Nutrition Label categories with official pass/fail criteria. It produces a recommendation showing which labels you could claim based on common-task verification and which are blocked by outstanding issues.

Why does VoiceOver skip my custom view?▼

Custom views are not in the accessibility tree by default. In SwiftUI add accessibilityElement and label modifiers; in UIKit set isAccessibilityElement to true with traits and a label; in AppKit call setAccessibilityElement(true) with a role and label.

When should accessibility fixes not be applied?▼

Do not add .accessibilityLabel to controls that already have visible text, since it overrides the automatic label and can desync from the screen. The skill is also not intended for server-side Swift, non-UI packages, or CLI tools.