ios-accessibility

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

Updated May 10, 2026
One-click install
npx skills add https://github.com/FelixRauch/medat-figuren --skill ios-accessibility-felixrauch
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ios-accessibility
Source: https://github.com/FelixRauch/medat-figuren/tree/main/.agents/skills/ios-accessibility
Command: npx skills add https://github.com/FelixRauch/medat-figuren --skill ios-accessibility-felixrauch

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

It helps you ensure your iOS/macOS app UI can be fully used with assistive technologies like VoiceOver, Switch Control, Voice Control, and Full Keyboard Access, preventing inaccessible controls and broken focus/navigation.

Core Features & Use Cases

  • Label/Hint/Trait correctness for discoverability: Ensure every interactive element has meaningful accessibility metadata (labels, values, hints, traits) in the order assistive tech reads them.
  • Focus management for reliable navigation: Restore accessibility focus after sheets, dialogs, and modal overlays so users don’t get lost.
  • System preference-aware UI behavior: Respect Reduce Motion, Reduce Transparency, Increase Contrast, and Dynamic Type to keep the experience usable under accessibility settings.
  • Accessible custom controls and actions: Expose custom UI via correct traits, grouping, custom actions, and rotor/navigation patterns.
  • Testing guidance for accessibility confidence: Use manual tooling and XCTest accessibility checks to verify labels, identifiers, and focus/interaction behavior.

Quick Start

Use the ios-accessibility skill when you add new SwiftUI views and need to verify they have proper accessibility labels, focus behavior, and Dynamic Type support.

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 for VoiceOver?

To restore VoiceOver focus in SwiftUI, manage accessibility focus state and explicitly redirect it after sheets, dialogs, and modal overlays are dismissed. This prevents users from getting lost when navigating back from custom controls.

Does this approach support adapting SwiftUI layouts for Dynamic Type and system accessibility preferences?

To verify accessibility metadata and focus behavior, use XCTest-based accessibility checks alongside manual tooling. This verifies labels, identifiers, traits, and interaction behavior to confirm VoiceOver navigation and Switch Control scanning work correctly.

What's the best way to expose custom controls for Switch Control scanning and Voice Control targeting?

The best way to expose custom controls for Switch Control scanning and Voice Control targeting is by applying correct accessibility traits, element grouping, custom actions, and rotor navigation patterns. This ensures assistive technologies can properly target and operate custom UI elements.

Why does VoiceOver skip interactive elements in my UIKit and SwiftUI app?

VoiceOver skips interactive elements when they lack correct accessibility labels, values, hints, or traits. Ensure every custom control and screen element has proper accessibility metadata so assistive technologies can discover, focus, and operate them.