VoiceOver 发音问题:"Live" "ADD"
VoiceOver pronunciation issue: "Live" "ADD"
我正在尝试为 iOS 应用程序实现辅助功能,但遇到了一些细微差别和问题。
例如:
我的应用程序中有一个标签,上面写着:"This is a live event."
在这种情况下,live 的定义是 "something that is currently happening",发音时应押韵 "Five"。
但是,画外音理解和读出 "live" 中的单词 "live and let die",并且在与 "Give" 押韵时读错了。
同样,我遇到的另一个问题是 "ADD A SELECTION" 上下文中的单词 "ADD"。该词在其上下文中的意思是 "to add something to a basket",但发音为 "A.D.D. (Attention deficit disorder)"
在为您的应用启用无障碍功能时,是否有编程方式为单词提供上下文?
它们是绕过屏幕阅读器错误的两种方法:
忽略它:这是屏幕阅读器中的错误,而不是您的代码中的错误
使用不同的句子。
例如,您可以说 "this event is live"(如果效果更好,我对此表示怀疑)或 "this event is on the air"(当然取决于上下文,但您可以找到更好的替代方案)。
您可能会考虑使用 aria-label
(对于 Web 应用程序,或在本机应用程序中等效的 accessibilityLabel
)来提供音频替代方案,例如 "this is alive event"(因为 alive 与五押韵)对于屏幕阅读器,但 aria-label
也用于盲文显示,并且 那么这将是一个非常糟糕的主意。
正如有人在上面的评论中所说,屏幕阅读器用户非常清楚他们的屏幕阅读器会如何糟糕地发音。
编辑:请参阅 了解原生 iOS 应用程序的解决方案 (>=iOS11)
您可以为标签设置 accessibilityLabel
以按照您想要的方式发音文本。
对于 OP 示例:
label1.accessibilityLabel = @"This is a liv event." //notice live is spelled liv so it is pronounced for the correct context
label2.accessibilityLabel = @"add a selection"
这也可以通过 storyboard/nib 完成,方法是选择标签并查看 "identity inspector"
解决方案 - 至少对于 iOS 9.1 和更新版本 - 改变单词的大写也会改变发音:
- 现场押韵五
- live rhymes with give
我已经为此苦苦挣扎了一段时间,但我找到了一个简单的解决方案...
如果您在 "Live" 字符串中添加另一个 "L" 字母,它将发音为五。
试试这个 --> "Llive"
不要使用目前有效但可能已过时的大写或双字母提示和技巧,在 iOS 的未来版本中或不方便对于盲文 ,我建议 在属性字符串中使用 accessibilitySpeechIPANotation
键 以定义适当的语音 (自 iOS11): 这个方法已经被证明,并且会持续下去。
Phonemes can be generated感谢您的移动设备设置:
- iOS 13 +...:
Accessibility
- VoiceOver
- Speech
- Pronunciations
.
- iOS 12:
General
- Accessibility
- Speech
- Pronunciations
.
我正在尝试为 iOS 应用程序实现辅助功能,但遇到了一些细微差别和问题。
例如: 我的应用程序中有一个标签,上面写着:"This is a live event." 在这种情况下,live 的定义是 "something that is currently happening",发音时应押韵 "Five"。
但是,画外音理解和读出 "live" 中的单词 "live and let die",并且在与 "Give" 押韵时读错了。
同样,我遇到的另一个问题是 "ADD A SELECTION" 上下文中的单词 "ADD"。该词在其上下文中的意思是 "to add something to a basket",但发音为 "A.D.D. (Attention deficit disorder)"
在为您的应用启用无障碍功能时,是否有编程方式为单词提供上下文?
它们是绕过屏幕阅读器错误的两种方法:
忽略它:这是屏幕阅读器中的错误,而不是您的代码中的错误
使用不同的句子。
例如,您可以说 "this event is live"(如果效果更好,我对此表示怀疑)或 "this event is on the air"(当然取决于上下文,但您可以找到更好的替代方案)。
您可能会考虑使用 aria-label
(对于 Web 应用程序,或在本机应用程序中等效的 accessibilityLabel
)来提供音频替代方案,例如 "this is alive event"(因为 alive 与五押韵)对于屏幕阅读器,但 aria-label
也用于盲文显示,并且 那么这将是一个非常糟糕的主意。
正如有人在上面的评论中所说,屏幕阅读器用户非常清楚他们的屏幕阅读器会如何糟糕地发音。
编辑:请参阅
您可以为标签设置 accessibilityLabel
以按照您想要的方式发音文本。
对于 OP 示例:
label1.accessibilityLabel = @"This is a liv event." //notice live is spelled liv so it is pronounced for the correct context
label2.accessibilityLabel = @"add a selection"
这也可以通过 storyboard/nib 完成,方法是选择标签并查看 "identity inspector"
解决方案 - 至少对于 iOS 9.1 和更新版本 - 改变单词的大写也会改变发音:
- 现场押韵五
- live rhymes with give
我已经为此苦苦挣扎了一段时间,但我找到了一个简单的解决方案... 如果您在 "Live" 字符串中添加另一个 "L" 字母,它将发音为五。
试试这个 --> "Llive"
不要使用目前有效但可能已过时的大写或双字母提示和技巧,在 iOS 的未来版本中或不方便对于盲文 ,我建议 在属性字符串中使用 accessibilitySpeechIPANotation
键 以定义适当的语音 (自 iOS11): 这个方法已经被证明,并且会持续下去。
Phonemes can be generated感谢您的移动设备设置:
- iOS 13 +...:
Accessibility
-VoiceOver
-Speech
-Pronunciations
. - iOS 12:
General
-Accessibility
-Speech
-Pronunciations
.