如何解决为什么VoiceOver无法大声朗读SwiftUI DatePicker可访问性提示?
我无法成功让VoiceOver朗读SwiftUI DatePicker
实例的可访问性提示。我希望VoiceOver在启用辅助功能提示时会大声朗读辅助功能提示。
预期的辅助功能提示的本地化版本存储在Localizable.strings
文件中:
/*
Localizable.strings
*/
"accessibility-hint" = "the date of the event";
可访问性提示的本地化版本用于视图模型:
/*
viewmodel.swift
*/
let eventDatePickerAccessibilityHint = NSLocalizedString("accessibility-hint",comment: "").localizedCapitalized
视图模型的属性用于附加到View
的SwiftUI DatePicker
中:
/*
View.swift
*/
Form {
// Accessibility hint is read aloud for following Toggle
Toggle(
isOn: $viewmodel.eventIsAllDay.animation(),label: {
Text(viewmodel.isAllDayLabelText)
}
)
.accessibilityHint(viewmodel.isAllDayToggleAccessibilityHint)
// Accessibility hint is not read aloud for following DatePicker
DatePicker(
viewmodel.eventDatePickerLabelText,selection: $viewmodel.eventDate,in: viewmodel.Now...,displayedComponents: [.date]
)
.accessibilityHint(viewmodel.eventDatePickerAccessibilityHint)
// Accessibility hint is read aloud for following Button
Button {
viewmodel.save()
} label: {
Text(viewmodel.saveButtonTitle)
}
.disabled(viewmodel.disableSaveButton())
.accessibilityHint(viewmodel.saveButtonAccessibilityHint)
}
在启用VoiceOver的情况下浏览视图时,VoiceOver会大声读取附近元素(例如Text
,TextField
,Toggle
和Button
的辅助功能提示。但是,VoiceOver不会大声朗读附加到同一视图内DatePicker
实例的辅助功能提示。
为什么VoiceOver会大声读取某些元素(例如Text
,TextField
和Button
的可访问性提示,而不大声朗读DatePicker
的那些提示?
更新 我尝试使用以下修改,但是VoiceOver继续无视辅助功能提示:
DatePicker(
selection: $viewmodel.eventDate,displayedComponents: [.date],label: {
Text(viewmodel.eventDatePickerLabelText)
.accessibilityHint("This does not work either.")
}
)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。