ios-accessibility

Audit and build accessible iOS apps with SwiftUI and UIKit.

Updated Apr 30, 2026
One-click install
npx skills add https://github.com/onymchat/onym-ios --skill ios-accessibility-onymchat
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ios-accessibility
Source: https://github.com/onymchat/onym-ios/tree/main/.claude/skills/ios-accessibility
Command: npx skills add https://github.com/onymchat/onym-ios --skill ios-accessibility-onymchat

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Enables building and auditing accessible iOS/macOS UI with SwiftUI and UIKit, covering VoiceOver, Dynamic Type, focus management, and assistive patterns to ensure inclusivity.

Core Features & Use Cases

  • VoiceOver & Screen Reader readiness: ensure all interactive elements have labels, hints, and proper traits.
  • Focus management & keyboard support: manage focus restoration on sheets and modals, support full keyboard navigation where applicable.
  • Dynamic Type & layout: adapt UI for accessibility text sizes without layout breakage.
  • Testing & auditing: manual and automated checks including XCTest patterns and UI test considerations.
  • Cross-framework guidance: applies to both SwiftUI and UIKit patterns across AppKit analogies.

Quick Start

Start by auditing a screen for unlabeled controls and add accessible labels, traits, and focus management to unlock VoiceOver navigation.

Frequently Asked Questions about ios-accessibility

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

FAQPage Schema
How do I add VoiceOver labels and traits to interactive elements in SwiftUI?

To add VoiceOver labels and traits in SwiftUI, apply accessibility modifiers to ensure interactive elements have proper labels, hints, and traits. This structures accessibility elements for screen reader navigation and proper trait usage throughout your UI.

What's the best way to manage focus restoration on sheets and modals for iOS accessibility?

The best way to manage focus restoration on sheets and modals is to implement modal focus management patterns. Properly restore focus when dismissing modals to ensure VoiceOver navigation returns to the correct element after closing a sheet.

Does this iOS accessibility guidance apply to both UIKit and SwiftUI projects?

Yes, this iOS accessibility guidance applies to both UIKit and SwiftUI projects. It provides cross-framework guidance covering VoiceOver, Dynamic Type, and focus management patterns across both frameworks with AppKit analogies.

How do I adapt my iOS app layout for Dynamic Type without breaking the UI?

To adapt your iOS app layout for Dynamic Type without breakage, apply accessibility-focused layout patterns. Ensure your UI adapts for accessibility text sizes by implementing responsive layout techniques that scale properly across all Dynamic Type sizes.

Can I automate accessibility testing for my iOS app using XCTest?

Yes, you can automate accessibility testing using XCTest patterns and UI test considerations. Implement automated checks alongside manual auditing to verify labeled accessibility elements, proper traits, and focus management across your interface.

Why does VoiceOver skip unlabeled controls in my iOS app?

VoiceOver skips unlabeled controls because they lack accessible labels, hints, or proper traits. Start by auditing a screen for unlabeled controls and add accessible labels, traits, and focus management to unlock VoiceOver navigation.