WWDC24 deal: 30% off our Swift and SwiftUI books! Learn more ...WWDC24 deal:30% off our Swift and SwiftUI books >>
Quick Tip Icon
Quick Tip

Image accessibility labels from Localizable.strings files

I recently discovered that if we add an image name to the Localizable.strings file in a SwiftUI project, SwiftUI will automatically use the localized string as the image accessibility label.

For example, we might have a custom image in the Assets catalog called person.bicycle. When it's used in a SwiftUI Image view Voice Over will read "person bicycle" when the user is focused on the image.

// Voice over reads "person bicycle" by default
Image("person.bicycle")

If we add the image name to the Localizable.strings file to provide a better accessibility label and to localize it, SwiftUI will use the localization automatically.

// Inside a Localizable.strings file
"person.bicycle" = "Person on a bicycle";

Voice Over will now read "Person on a bicycle" when the image is focused. We don't even have to apply the accessibilityLabel() modifier to the Image view.

Books by Natalia PanferovaBooks by Natalia Panferova
WWDC24: 30% off all books!
  • Swift Gems

    100+ tips to take your Swift code to the next level

  • Integrating SwiftUI into UIKit Apps

    A detailed guide on gradually adopting SwiftUI in UIKit projects

The offer is active until the 16th of June.