如何控制 SwiftUI 图像的辅助功能旁白文本

Kir*_* S. 6 accessibility voiceover swift swiftui

对于 SwiftUI Image 元素,配音模板似乎是“辅助功能标签 - 图像 - 图像名称”,例如

var body: some View {
        Image(systemName: "equal")
            .accessibilityLabel("my label")
    }
Run Code Online (Sandbox Code Playgroud)

我收到画外音响应“我的标签图像相等”。

画外音是否可以说“我的标签”,而不发音“图像相等”部分?

RTX*_*mer 4

一旦元素获得焦点,默认特征(链接、按钮、标签等)将在accessibilityLabel文本之后播放。这就是它读作“我的标签 -> 图像”的原因

要添加或删除默认特征,可以使用以下方法:

  • .accessibilityAddTraits
  • .accessibilityRemoveTraits

例子

要将图像识别为按钮:

添加.isButton特征并删除.isImage特征,现在 VoiceOver 可以将图像的描述读取为“我的标签 -> 按钮”

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

由于一个元素可以具有多个特征,因此请删除您不希望画外音读取的特征。