The App I am working on has a name which is mispronounced by the talkback. I am able to fix this within the app by changing the spelling. But if I change the spelling in the and
You could change the text read by TalkBack programmatically with:
getWindow().getDecorView().setContentDescription("Name as pronounced")
There is no way to do this. The fix would be for the LaunchScreen to have the ability to read an alternative label, and place it in the content description for the textView that represents your application.
TalkBack reads back things like this.
So, what is happening is TalkBack is grabbing onto the "text" of your view as provided by the name of the application. The Launch Screen does not provide a mechanism for overriding the contentDescription, and therefore will only ever read your text. This isn't a problem with your app, it is a problem with the Home Screen app. You may be able to fix this for users with different Home Screen apps, but there is absolutely no universal solution, and certainly no solution for the standard LaunchScreen application provided on stock Motorola, Samsung, and Nexus devices (most likely others as well, but I don't own any of them).
In the case that talkback is not pronouncing an acronym correctly, attempting to read it as a word rather than individual letters, you can use zero-width non-breaking space characters \ufeff
to separate the letters invisibly.
Suppose you have the word CAT
but you want it pronounced C.A.T.
:
<string name="app_name">C\ufeffA\ufeffT</string>
It will still appear as CAT
and won't be broken for line-wrapping.
However, your users will not be able to search for the app by typing CAT anymore.