首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在androids Talkback可访问性中将缩写或缩写发音为单个字符

在androids Talkback可访问性中将缩写或缩写发音为单个字符
EN

Stack Overflow用户
提问于 2018-11-30 05:00:29
回答 2查看 1.1K关注 0票数 1

我正在使用talkback开发一个语音辅助功能,但当voice over从文本视图中读取文本时,它会将缩写/缩写作为一个单词读取,而不是单个字符。例如,FBI应该是F B I,而不是作为一个单词读出。

EN

回答 2

Stack Overflow用户

发布于 2018-11-30 05:19:01

不要试图强制屏幕阅读器以某种方式阅读单词或缩写。这可能会打乱盲文用户的用户体验。屏幕阅读器具有控制冗长以及如何处理全部大写的单词的设置。这允许用户控制他们想要收听的方式。

此外,当一个单词以不熟悉的方式发音时,屏幕阅读器用户可以逐个字母导航来听到缩写。

更新2018年11月29日:基于评论,这里是一些额外的信息。

如果句子中间有缩写,例如

代码语言:javascript
运行
复制
The FBI always gets its man

然后,您可以为屏幕阅读器提供隐藏文本,以强制将字母分开发音,但我要再次指出,这是高度不鼓励的

代码语言:javascript
运行
复制
<p>The FBI always gets its man</p>

可能会变成

代码语言:javascript
运行
复制
<p>The <span aria-hidden="true">FBI</span> <span class="sr-only">F B I </span> always gets its man</p>

因此,可见的"FBI“对屏幕阅读器是隐藏的,后面跟着一个视觉上隐藏的文本"F B I”,供屏幕阅读器作为单独的字母显示。

( "sr-only“类可以在What is sr-only in Bootstrap 3?上看到)

强制执行此行为(至少)有两个缺点:

  1. 如前所述,盲文用户将获得额外的文本。当然,在这种情况下,它不是那么多,但仍然增加了阅读盲文的开销。

盲文中的基本“联邦调查局”:

开头有两个单独的点。第一个点通常表示下一个字符是大写的。当你在一行中有两个单独的点时,它就像一个“大写锁”,所以它告诉你下面所有的字母都是大写的。

"F B I“中的嵌入空格

在这种情况下,“大写”字符(单点)必须出现在每个字母之前,因为它们是单独的“单词”,每个字母之间有间隙。

所以"FBI“占据5个单元,而"F B I”占据8个单元。

第二个缺点是在设备和画外音上,由于段落()被嵌入的元素分割,当你用画外音向右滑动时,它会在每次中断时停止,所以你会听到“”,然后是"F B I",然后是“

  1. iOS man”。用户体验不是很好。不确定Talkback是否也这么做。
票数 3
EN

Stack Overflow用户

发布于 2020-05-08 16:28:17

如果您只想将一个单词作为单独的字符读取,那么在单词的每个字符之间添加一个像​​"\u200B“这样的零宽度字符。

代码语言:javascript
运行
复制
fun String.toAbbreviation() = this.replace(".".toRegex(), "\$0\u200B")

该空格将不可见,并且将被读取为缩写。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53547488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档