ios_voiceover_preview
Approximate what VoiceOver would announce for each element on the CURRENT screen, and flag announcements a blind user could not act on — unlabelled controls that speak only as "button", labels that read as code identifiers, tappable elements with no Button/Link trait, controls VoiceOver cannot reach at all, and duplicate labels that cannot be told apart by ear. IMPORTANT: this is a RECONSTRUCTION from element attributes, not a transcript. Real VoiceOver speech can only be read from the device on iOS 27+; below that the system cannot be asked what it would say. The accessibility HINT is never included (Apple does not expose it to XCTest at all), role words are the English defaults, and reading ORDER is document order, which is not VoiceOver's geometric order. Treat the wording as indicative and the flagged issues as real. Complements ios_accessibility_audit, which reports Apple's own findings. Requires an active iOS automation session (auto-starts if needed).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| udid | Yes | iOS device UDID | |
| element | No | Narrow to one element by accessibility label, resolved the same way ios_tap_by_label resolves it. | |
| onlyIssues | No | Return only elements with a flagged problem, skipping ones that announce fine. Default false. |