How to prevent VoiceOver from reading text INSIDE an image?

In the example below, VoiceOver (in both iOS 18 and 26) reads the text contained within the image after the .accessibilityLabel, introduced by a “beep.”

VoiceOver: Purple rounded square with the word 'Foo' in white letters. Image [beep] foo.

I’d like it to only read the accessibility label. As a developer focused on accessibility, I make sure every image already has an appropriate label, so having iOS read the image text is redundant.

Sample Code

import SwiftUI

struct ContentView: View {
    var body: some View {
        Image("TextInImage")
            .resizable()
            .scaledToFit()
            .frame(width: 64, height: 64)
            .accessibilityLabel("Purple rounded square with the word 'Foo' in white letters.")
    }
}

Sample Image

Drop this image in to Assets.xcassets and confirm it's named TextInImage.

Accepted Answer

Turns out that there's a setting to turn this off, so probably something that shouldn't be suppressed by the developer.

The setting can be found in:

SettingsAccessibilityVoiceOverVoiceOver RecognitionText Recognition

Screenshot

BTW, if anyone knows how to force a specific size for an inline image in a post, I’d love to know!

Whenever I include high-DPI images, I set the width and height so they don’t display huge like the ones above—but it never seems to work.

Is this a forum software bug, or am I missing something?

If you need to do it from code, you need to clear the is image accessibility trait. If you do that, you likely want to add image to the accessibility label.

How to prevent VoiceOver from reading text INSIDE an image?
 
 
Q