如何让 VoiceOver 读出与 UITextView 不同的文本?

Posted

技术标签:

【中文标题】如何让 VoiceOver 读出与 UITextView 不同的文本?【英文标题】:How to make VoiceOver read out a different text than what's in the UITextView? 【发布时间】:2018-12-03 14:33:09 【问题描述】:

我有一个 UITextView,其中包含供视力正常的用户使用的文本。我想添加一个不同的不可见的用户友好文本,当 VoiceOver 开启时将被读出。我尝试将其添加为可访问性标签,但 VoiceOver 读取了这两个文本。当 VoiceOver 开启时,如何让它只读出可访问的文本?

【问题讨论】:

尝试设置可访问性值而不是(或以及)可访问性标签 【参考方案1】:

当 VoiceOver 开启时,它只读出可访问的文本,下面的代码很有用

UITextView.AccessibilityValue="Your Text";

在你传递的文本中

【讨论】:

【参考方案2】:

我不确定是否可以使用带有 VoiceOver 的 UITextView 来发出与显示文本不同的文本...无论如何,我还没有找到任何解决方案。

VoiceOver 不仅适用于盲人,也适用于视障人士,这意味着保持显示内容和发声内容之间的联系非常重要。

使用 UITextView 意味着除了您添加的可能的可访问性标签之外,它的文本将被发声

如果您想在 VoiceOver 开启时仅读出可访问的文本

收听UIAccessibilityIsVoiceOverRunning 事件。 相应地更新您的 UITextView 的文本:myTextView.text = "text to be adapted to the context."

遵循这些步骤将使您达到目标。

【讨论】:

以上是关于如何让 VoiceOver 读出与 UITextView 不同的文本?的主要内容,如果未能解决你的问题,请参考以下文章

React 本机可访问性状态扩展正在被 Android 的 VoiceView 读出,而不是 iOS 的 VoiceOver

VoiceOver:如何在计算器中实现类似于键的按钮

如何让 VoiceOver 在 iOS 中宣布部分标签?

如何为 VoiceOver 排队多个辅助功能通知?

覆盖 TextField 中的 VoiceOver 消息 - iOS 辅助功能

如何将自定义视图添加到 iOS VoiceOver 转子?