Swift用于旁白识别的辅助信息修饰符
Swift用于旁白识别的辅助信息修饰符

Swift用于旁白识别的辅助信息修饰符

在视图中,除了使用accessibilityLabel(可访问性标签),还可以添加额外操作提示:

HStack {
    Image(systemName: "\(word.count).circle")
    Text(word)
}
.accessibilityElement()
.accessibilityLabel(word)
.accessibilityHint("\(word.count) letters")    

上面代码会阅读“word”内容,然后阅读“(word.count) letters”字母个数。

accessibilityHint() 的作用

.accessibilityHint() 是 SwiftUI 中用于为屏幕阅读器(如旁白)提供额外操作提示 的修饰符。它主要用于补充按钮、滑块等可交互元素的含义,帮助用户理解此元素的操作或用途。

使用场景

.accessibilityHint() 通常与 .accessibilityLabel() 搭配使用。

Label 提供的是元素的名称或功能说明,例如 “Delete”。

Hint 补充如何与此元素交互或它的结果,例如 “Deletes the current item”。

Button("Delete") {
    print("Item deleted")
}
.accessibilityLabel("Delete")
.accessibilityHint("Deletes the current item permanently.")

在这个例子中

屏幕阅读器朗读时会先读出 “Delete”。

然后它会提供额外提示 “Deletes the current item permanently.”。

示例场景

滑块 (Slider)

Slider(value: $volume, in: 0...100)
    .accessibilityLabel("Volume")
    .accessibilityHint("Adjusts the speaker volume.")

旁白朗读

初始值:Volume, 50%。

提示:Adjusts the speaker volume.

开关 (Toggle)

Toggle("Wi-Fi", isOn: $wifiEnabled)
    .accessibilityLabel("Wi-Fi")
    .accessibilityHint("Enable or disable Wi-Fi connection.")

旁白朗读

状态:Wi-Fi, On。

提示:Enable or disable Wi-Fi connection.

注意事项

1、避免冗余:如果 .accessibilityLabel() 已经清楚表达了功能,.accessibilityHint() 可以省略。

例如: 一个保存按钮只需要标记为 “Save”,不需要补充提示。

2、语言简洁:提示内容应简洁明了,避免长篇描述。

3、无提示时省略:如果没有有用的额外信息,可以直接不使用 .accessibilityHint()。

总结

.accessibilityHint() 是为用户提供辅助信息的工具,特别适用于复杂或多步操作的 UI 元素。合理使用可以显著提高应用的可访问性和用户体验。

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开放者。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注