Ios Voiceover Labels
Every interactive element must have a descriptive .accessibilityLabel that communicates its purpose; icon-only buttons with no visible text are the most common failure case.
$ aoe install @community/rule-ios-voiceover-labels Projection
Always in _index.xml · the agent never has to ask for this.
IosVoiceoverLabels [rule] v1.0.0
Every interactive element must have a descriptive .accessibilityLabel that communicates its purpose; icon-only buttons with no visible text are the most common failure case.
Loaded when retrieval picks the atom as adjacent / supporting.
IosVoiceoverLabels [rule] v1.0.0
Every interactive element must have a descriptive .accessibilityLabel that communicates its purpose; icon-only buttons with no visible text are the most common failure case.
Meta
- License: MIT AND Apache-2.0
- License Provenance: legacy-backfill
Applies To
all buttons, controls, images, and tappable elements in iOS views
Loaded when retrieval picks the atom as a focal / direct hit.
IosVoiceoverLabels [rule] v1.0.0
Every interactive element must have a descriptive .accessibilityLabel that communicates its purpose; icon-only buttons with no visible text are the most common failure case.
Meta
- License: MIT AND Apache-2.0
- License Provenance: legacy-backfill
Applies To
all buttons, controls, images, and tappable elements in iOS views
Examples
- Icon-only like button: .accessibilityLabel('Like').accessibilityHint('Double-tap to like this post').
- Image: Image('headerPhoto').accessibilityLabel('Mountain landscape at sunrise').
- Decorative image: Image('divider').accessibilityHidden(true).
- Verify: enable VoiceOver and navigate; every element must be announced with a clear, meaningful label.
Relations
related: [@community/rule-ios-voiceover-order, @community/rule-ios-reduce-motion, @community/check-ios-bold-text-support]
Rationale
Without labels, VoiceOver reads raw SF Symbol names (e.g., 'heart, image') or nothing at all, making the app completely unusable for blind users. This is a blocking accessibility requirement per WCAG 1.1.1 and Apple HIG Rule 5.1.
Meta
- License: MIT AND Apache-2.0
- License Provenance: legacy-backfill
Applies To
all buttons, controls, images, and tappable elements in iOS views
Source
aoe-engine/examples/frontend-design/primes/compiled/@community/rule-ios-voiceover-labels/atom.yaml