如何控制SwiftUI Image的辅助功能配音文本

cqoc49vn  于 2023-05-05  发布在  Swift
关注(0)|答案(2)|浏览(102)

对于SwiftUI图像元素,画外音模板似乎是“* 可访问性标签-图像-图像名称 *”,例如为

var body: some View {
        Image(systemName: "equal")
            .accessibilityLabel("my label")
    }

我收到画外音响应“* 我的标签图像等于 ”。
画外音有没有可能只
**说“我的标签”,而不发音“图像等于”的部分?

ruyhziif

ruyhziif1#

一旦元素获得焦点,默认trait(链接,按钮,标签等)将在accessibilityLabel文本之后播放。这就是为什么它读出来是 “我的标签-〉图像”
为了添加或移除默认trait,可以使用以下方法:

  • .accessibilityAddTraits
  • .accessibilityRemoveTraits
    示例

要将图像识别为按钮,请执行以下操作:
添加.isButton trait并删除.isImage trait,现在VoiceOver可以将图像的描述读取为 “my label -〉button”

struct ContentView: View {
    var body: some View {
        Image(systemName: "equal")
            .accessibilityLabel("my label")
            .accessibilityAddTraits(.isButton)
            .accessibilityRemoveTraits(.isImage)
    }
}

因为一个元素可以有多个特征,所以删除那些你不想让画外音读到的特征。

h7wcgrx3

h7wcgrx32#

如果您的图像不用作按钮,但仍想完成此用途,

Image(decorative: "equal")

这将阻止VoiceOver阅读图像名称。您可以根据需要添加或删除其他特性。

相关问题