ios-accessibility

Implement accessibility labels, traits, and focus management for SwiftUI and UIKit apps.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Ensures iOS and macOS apps are usable by people who rely on assistive technologies by providing guidance on building accessible interfaces with SwiftUI and UIKit, including proper labeling, trait management, focus restoration, and dynamic type support.

Core Features & Use Cases

  • Accessible labeling: Add meaningful accessibility labels, hints, and values for all interactive elements.
  • Trait management & grouping: Use .accessibilityAddTraits and accessibilityElement to group complex views.
  • Focus management: Implement focus restoration when dismissing sheets or modals to maintain a fluid navigation flow.
  • Dynamic Type & Layout: Support Dynamic Type via @ScaledMetric and adaptive layouts for accessibility sizes.
  • UIKit patterns: Apply UIKit accessibility patterns for elements and overlays, including modals and notifications.
  • Testing & Validation: Validate accessibility with VoiceOver, Accessibility Inspector, and automated checks during development.

Quick Start

Begin by labeling all interactive elements with accessible labels and ensure correct traits and focus management in your SwiftUI or UIKit views.

Frequently Asked Questions about ios-accessibility

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

FAQPage Schema
How do I add accessibility labels and traits to SwiftUI views?

Focus management involves restoring focus when dismissing sheets or modals to maintain fluid navigation flow, trapping focus within overlays, and ensuring VoiceOver users experience logical navigation progression across SwiftUI and UIKit interfaces.

How do I support Dynamic Type in SwiftUI for accessibility sizes?

UIKit accessibility patterns involve applying proper labels and traits to elements, managing focus trapping in overlays and modals, and handling accessibility notifications, ensuring assistive technology users can navigate UIKit interfaces effectively.

Can I use this to test VoiceOver accessibility in iOS apps?

Yes, it handles both SwiftUI and UIKit interfaces across device sizes, contexts, and accessibility settings, providing proper labeling, trait management, focus restoration, and Dynamic Type support for iOS and macOS apps.

Why does VoiceOver skip interactive elements in my SwiftUI views?

Focus restoration returns VoiceOver focus to the originating element when dismissing sheets or modals, maintaining navigation continuity and preventing users from losing their place within the app interface.