apple-text-accessibility

Guide VoiceOver, Dynamic Type, and accessibility traits for custom Apple text editors.

Updated Mar 19, 2026
One-click install
npx skills add https://github.com/sitapix/apple-text --skill apple-text-accessibility
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: apple-text-accessibility
Source: https://github.com/sitapix/apple-text/tree/main/skills/apple-text-accessibility
Command: npx skills add https://github.com/sitapix/apple-text --skill apple-text-accessibility

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Provide guidance for implementing VoiceOver, Dynamic Type, and accessibility traits in custom Apple text editors, ensuring usable and inclusive editing experiences.

Core Features & Use Cases

  • Guidance for wrapping UITextView in SwiftUI without breaking accessibility
  • Techniques for both UIKit and SwiftUI-aware accessibility integration
  • Best practices for dynamic type, accessibility hints, and custom view traits in text editors
  • Use cases include building accessible custom editors and ensuring compatibility across iOS versions

Quick Start

Apply the accessibility guidance to your custom text editor by enabling VoiceOver support in UITextView and implementing appropriate accessibility traits.

Frequently Asked Questions about apple-text-accessibility

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

FAQPage Schema
How do I make a custom UITextView accessible with VoiceOver in SwiftUI?

To make a custom UITextView accessible with VoiceOver in SwiftUI, enable VoiceOver support in UITextView and implement appropriate accessibility traits, ensuring isAccessibilityElement, accessibilityLabel, and accessibilityValue are properly exposed across the SwiftUI wrapper.

What accessibility traits do I need for a custom text editor in UIKit?

For a custom text editor in UIKit, you need to implement isAccessibilityElement, accessibilityTraits, accessibilityLabel, accessibilityValue, and UIAccessibilityReadingContent to ensure VoiceOver properly announces and reads the text content.

Does wrapping UITextView in SwiftUI break Dynamic Type and VoiceOver support?

Wrapping UITextView in SwiftUI can break VoiceOver and Dynamic Type if accessibility is not bridged correctly. You must apply proper accessibility traits, hints, and isAccessibilityElement configuration to maintain usability.

How do I implement UIAccessibilityReadingContent in a custom text editor?

Implementing UIAccessibilityReadingContent in a custom text editor requires providing line-by-line text content and frame information so VoiceOver can read specific sections of the editor accurately across iOS versions.

Why is VoiceOver not reading the text in my custom SwiftUI text editor?

VoiceOver may not read custom text editor text if the view lacks proper accessibilityValue, isAccessibilityElement configuration, or UIAccessibilityReadingContent adoption, preventing the screen reader from accessing the text content.

What's the best way to support Dynamic Type in custom Apple text editors?

The best way to support Dynamic Type in custom Apple text editors is applying accessibility hints, custom view traits, and standard text scaling properties, ensuring compatible scaling across both UIKit and SwiftUI frameworks.