I found pretty strange behaviour of a voice over:
I set my accesibilityLanguage to e.g. dutch (in the app code). My phone is set to english. Our app has custom localization layer - so everything in the app is correctly in dutch, even all accessibility labels and hints are pronounced correctly in dutch - except accessibility traits. For some reason accessibility traits are always pronounced in phone language. I have a strong feeling that this is 'per design' by apple.
Is my assumption correct - you cannot change accessibility trait language?
If you can? How? (except changing phone language)
Yes, your assumption is correct. The author can only control the language specified for their content, and the user has full control over how it is spoken along with the traits (e.g. heading, button, etc.). For screen reader users who may speak several languages, this is an important feature, and speech synthesizers usually support automatic language switching. For example, if you had both Dutch and English content specified in different parts of your app and I had both English and Dutch voices available, VoiceOver would automatically switch to accurately reading based on the language specified, but I'd always hear non-content in the voice specified by my VoiceOver settings.
In iOS, the languages available in the rotor are specified in Settings > General > Accessibility > VoiceOver > Speech. This controls the languages available in VoiceOver independent of the language being displayed. Adding Dutch here and either making it the default or changing it using the rotor will change the "trait" language too.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With