Agent skill · software engineering · dpearson2699

ios-accessibility

Build and audit SwiftUI, UIKit, and AppKit accessibility for VoiceOver, Voice Control, Switch Control, Full Keyboard Access, Dynamic Type, focus restoration, labels/traits/actions, traversal, custom rotors, NSAccessibility, XCTest checks, adaptive system preferences, and App Store accessibility declarations. Use when implementing accessible UI, fixing an accessibility audit, testing assistive-technology behavior, or substantiating App Store Accessibility Nutrition Labels.

Why this skill is useful

Provides detailed guidelines and patterns for implementing accessibility in iOS apps that the AI wouldn't reliably generate on its own.

What it needs

About 9k tokens when loaded. Last updated 2026-07-31. 973 stars on the source repository.

What this skill does

iOS/macOS Accessibility - SwiftUI, UIKit, and AppKit Build SwiftUI, UIKit, and AppKit interfaces that remain operable with VoiceOver, Switch Control, Voice Control, Full Keyboard Access, and adaptive accessibility settings. Contents Core Principles How VoiceOver Reads Elements SwiftUI Accessibility Modifiers Focus Management Dynamic Type Custom Rotors System Accessibility Preferences Decorative Content Voice Control Switch Control Full Keyboard Access Assistive Access (iOS 18+) UIKit Accessibility Patterns AppKit Accessibility Patterns Accessibility Custom Content App Store Accessibility Nutrition Labels Testing Accessibility Common Mistakes Review Checklist References --- Core Principles 1. Prefer semantic system controls; custom controls must expose the same name, role, value, state, and actions. 2. Preserve every task across assistive input: do not make a gesture, color, motion, hover state, or visual arrangement the only path to meaning or action. 3. Keep focus and traversal intentional across navigation, presentation, updates, and dismissal. 4. Let text, layout, contrast, transparency, and motion adapt to the user's accessibility settings. 5. Treat App Store accessibility declarations as evidence-backed product claims, not as a summary of isolated control-level support. How VoiceOver Reads Elements VoiceOver reads element properties in a fixed, non-configurable order: Label -> Value -> Trait -> Hint Design your labels, values, and hints with this reading order in mind. SwiftUI Accessibility Modifiers See references/a11y-patterns.md for detailed SwiftUI modifier examples (labels, hints, traits, grouping, custom controls, adjustable actions, and custom actions). Focus Management Focus management is where most apps fail. When a sheet, alert, or popover is dismissed, VoiceOver focus MUST return to the element that triggered it. This section is about accessibility focus for assistive technologies. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills dpearson2699/ios-accessibility

View the source on GitHub

Browse the @skills marketplace