I am working on an voice accessibility feature using talkback but when the voice over reads of the text from the text view, it reads the abbreviation/initialism as a word instead of individual characters. For example FBI should be F B I and not read out as a word.
相关问题
- How can I create this custom Bottom Navigation on
- Bottom Navigation View gets Shrink Down
- How to make that the snackbar action button be sho
- Listening to outgoing sms not working android
- How to create Circular view on android wear?
相关文章
- android开发 怎么把图片放入drawable的文件夹下
- android上如何获取/storage/emulated/下的文件列表
- androidStudio有个箭头不认识
- SQLite不能创建表
- Windows - Android SDK manager not listing any plat
- Animate Recycler View grid when number of columns
- Why is the app closing suddenly without showing an
- Android OverlayItem.setMarker(): Change the marker
Do not try to force a screen reader to read words or abbreviations a certain way. That can mess up the user experience for braille users. Screen readers have settings to control the verbosity and what to do with words that are in all caps. This allows the user to control how they want to hear it.
Additionally, when a word is pronounced in an unfamiliar way, the screen reader user can navigate letter by letter to hear the abbreviation.
Update November 29, 2018: Based on comments, here is some additional information.
If you have an abbreviation in the middle of a sentence, such as
then you can have hidden text for screen readers to force the letters to be pronounced separately, but I will again say that this is highly discouraged.
can become
So the visible "FBI" is hidden from screen readers and it's followed by a visually hidden text of "F B I" for screen readers to announce as separate letters.
(The "sr-only" class can be seen at What is sr-only in Bootstrap 3?)
There are two (at least) disadvantages to forcing this behavior:
As mentioned, Braille users will get extra text. Granted, in this case, it's not that much but still adds to overhead in reading Braille.
Basic "FBI" in Braille:
There are two single dots in the beginning. The first single dot usually means the next character is uppercased. When you have two single dots in a row, it's like a "caps lock" so it tells you all the following letters are in caps.
Embedded spaces in "F B I"
In this case, the "caps" character (single dot) has to appear before each letter because they're separate "words" and there are gaps between each letter.
So "FBI" takes up 5 cells and "F B I" takes up 8 cells.
The second disadvantage is that on iOS devices and Voiceover, since the paragraph (<p>) is split up by embedded <span> elements, as you swipe right with Voiceover, it will stop on every break so you'll hear "The", then "F B I", then "always gets its man". Not a great user experience. Not sure if Talkback does the same.