对于SwiftUI图像元素,画外音模板似乎是“* 可访问性标签-图像-图像名称 *”,例如为
var body: some View { Image(systemName: "equal") .accessibilityLabel("my label") }
我收到画外音响应“* 我的标签图像等于 ”。画外音有没有可能只**说“我的标签”,而不发音“图像等于”的部分?
ruyhziif1#
一旦元素获得焦点,默认trait(链接,按钮,标签等)将在accessibilityLabel文本之后播放。这就是为什么它读出来是 “我的标签-〉图像”为了添加或移除默认trait,可以使用以下方法:
accessibilityLabel
.accessibilityAddTraits
.accessibilityRemoveTraits
要将图像识别为按钮,请执行以下操作:添加.isButton trait并删除.isImage trait,现在VoiceOver可以将图像的描述读取为 “my label -〉button”
.isButton
.isImage
struct ContentView: View { var body: some View { Image(systemName: "equal") .accessibilityLabel("my label") .accessibilityAddTraits(.isButton) .accessibilityRemoveTraits(.isImage) } }
因为一个元素可以有多个特征,所以删除那些你不想让画外音读到的特征。
h7wcgrx32#
如果您的图像不用作按钮,但仍想完成此用途,
Image(decorative: "equal")
这将阻止VoiceOver阅读图像名称。您可以根据需要添加或删除其他特性。
2条答案
按热度按时间ruyhziif1#
一旦元素获得焦点,默认trait(链接,按钮,标签等)将在
accessibilityLabel
文本之后播放。这就是为什么它读出来是 “我的标签-〉图像”为了添加或移除默认trait,可以使用以下方法:
.accessibilityAddTraits
.accessibilityRemoveTraits
示例
要将图像识别为按钮,请执行以下操作:
添加
.isButton
trait并删除.isImage
trait,现在VoiceOver可以将图像的描述读取为 “my label -〉button”因为一个元素可以有多个特征,所以删除那些你不想让画外音读到的特征。
h7wcgrx32#
如果您的图像不用作按钮,但仍想完成此用途,
这将阻止VoiceOver阅读图像名称。您可以根据需要添加或删除其他特性。