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.
Check out our new book!
Swift Gems
100+ tips to take your Swift code to the next level
Swift Gems
100+ tips to take your Swift code to the next level
- Advanced Swift techniques for experienced developers bypassing basic tutorials
- Curated, actionable tips ready for immediate integration into any Swift project
- Strategies to improve code quality, structure, and performance across all platforms
- Practical Swift insights from years of development, applicable from iOS to server-side Swift