我正在尝试为iOS应用程序实现辅助功能,并且已经涉及到一些细微差别和怪癖。
例如: 我的应用程序中有一个标签,上面写着:“这是一个直播活动。” 在这种情况下,生活的定义是“当前正在发生的事情”,并且在宣布它时应该与“五”押韵。
然而,画外音理解和读取“生活”这个词,如:“活着,让我们死”,并用“Give”错误地发音押韵。
同样,我遇到的另一个问题是在“添加选择”的上下文中使用“ADD”一词。在其背景下该词的含义是“在篮子里添加一些东西”,但被称为“A.D.D.(注意缺陷障碍)”
在启用应用程序以获取辅助功能时,是否有一种编程方式为文字提供上下文?
答案 0 :(得分:4)
解决方案 - 至少对于iOS 9.1及更新版本 - 更改单词的大小写也会改变发音:
答案 1 :(得分:3)
我一直在努力解决这个问题,但我找到了一个简单的解决方案...... 如果您在“实时”字符串中添加另一个“L”字母,它将直播为5。
试试这个 - > “Llive”
答案 2 :(得分:2)
它们是两种绕过屏幕阅读器中的错误的方法:
忽略它:它是屏幕阅读器中的错误,而不是代码中的错误
使用不同的句子。
例如,你可以说"这个事件是真实的" (如果它运作得更好,我怀疑),或者#34;这个事件已经播出了#34; (当然,取决于具体情况,但你可以选择更好的替代方案)。
您可能会考虑使用self.nickname = snapshot.value["nickname"] as! String
来提供类似&#34的音频替代方案;这是活动事件" (因为活着的韵律有五个)用于屏幕阅读器,但aria-label
也用于盲文显示,然后这将是一个非常糟糕的主意。
正如有人在上面的评论中所说,屏幕阅读器用户非常清楚他们的屏幕阅读器会如何严重地发音。
答案 3 :(得分:2)
使用属性字符串中的accessibilitySpeechIPANotation
键来定义适当的语音声音(自iOS11起可用)。
答案 4 :(得分:0)