SwiftUI 让画外音读取街道地址

问题描述 投票:0回答:1

有没有办法让画外音正确读出街道地址?我已经尝试了很多东西,但到目前为止没有任何效果。我最终创建了一个疯狂的 accessibilityLabel 但它仍然不是很好。

例如,如果您的地址为:

123 主街 加利福尼亚州洛杉矶 90210 美国

我要旁白朗读:

“一二三大街,洛杉矶加利福尼亚州九零二一零,美国”

但它当前读取

“123 main st, los angeles c a 92201, unities”

我可以使用 .speechSpellsOutCharacters() 修饰符,这是我在为我之前提到的 accessibilityLabel 拆分内容时所做的,但实际上只适用于邮政编码,没有其他作用。

有什么想法吗?

swiftui accessibility voiceover
1个回答
0
投票

您可以强制屏幕阅读器按语音阅读,但强烈反对

如果您按语音拼写或嵌入空格以强制执行特定发音,它会给盲文用户提供不正确的信息。

屏幕阅读器用户可以一次阅读一个字符的内容,因此如果他们听到听起来不对劲的内容,他们就一个字母一个字母地读。这不是很好的体验,但试图欺骗屏幕阅读器以 you 认为应该阅读的方式阅读内容总会给其他用户带来问题。

此外,用户的屏幕阅读器设置会影响它宣布事情的方式。阅读数字通常在“冗长”设置中进行控制。

有了所有这些警告,我建议 not 执行以下操作,尽管它会解决您的“问题”。

<span aria-hidden="true">123 Main St. Los Angeles, CA 90210 United States</span>
<span class="sr-only">1 2 3 Main Street, Los Angeles, California 9 0 2 1 0 United States</span>

“sr-only”类没什么特别的。它只是用于设置文本样式的类的通用名称,因此它在视觉上不可见,但屏幕阅读器仍然可以阅读它。第一个 上的

aria-hidden 隐藏了屏幕阅读器中的文本。您可以在Bootstrap 3 中的 sr-only 是什么?

查看更多关于“sr-only”的信息

这将迫使“123”被宣布为“一二三”,因为数字之间有空格。它还拼出“street”而不是“st.”。但是盲文用户会读到“一格二格三”,这在阅读地址时会造成混淆。

你可以看到更多关于为什么这是一个坏主意在我的回答发音缩写或首字母缩写作为单个字符在机器人对讲辅助功能从几年前。

© www.soinside.com 2019 - 2024. All rights reserved.