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.