ios-accessibility-engineering
Installation
SKILL.md
iOS Accessibility Engineering
When to invoke
- Adding accessibility to a new or changed user-facing View (labels, Dynamic Type, hit targets).
- Running a pre-submission accessibility audit against App Store Review guidelines.
- User says "make this accessible", "check a11y", "VoiceOver doesn't read this", or "does this pass WCAG".
- Reviewing a PR for accessibility regressions.
VoiceOver: labelling and semantics
Labels, values, and hints are three distinct channels:
.accessibilityLabel("Done")— the noun identifying the element. Keep it short; VoiceOver reads it first..accessibilityValue("3 of 9")— the current state or quantity. Changes without re-reading the label..accessibilityHint("Double-tap to submit")— what happens on activation. Users can turn hints off; never put essential info here.
In UIKit, set accessibilityLabel, accessibilityValue, and accessibilityHint on any UIView. In SwiftUI, use the .accessibilityLabel(_:), .accessibilityValue(_:), and .accessibilityHint(_:) modifiers.