use*_*265 12 uiaccessibility swiftui uiaccessibility-notification
我需要将辅助功能焦点移至屏幕上的某个元素。在 UIKit 中,我可以简单地调用UIAccessibility.post(.screenChanged, element).
当我使用 SwiftUI 视图执行此操作时,应用程序崩溃并在控制台中显示以下消息:
This class '__SwiftValue' is not a known serializable element and returning it as an accessibility element may lead to crashes
Run Code Online (Sandbox Code Playgroud)
知道如何将焦点移动到 SwiftUI 屏幕上的某些元素吗?
解决方法是:当 UIView 出现时发布通知:
.onAppear(perform: {
DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
UIAccessibility.post(notification: .screenChanged, argument: "New Screen")
}
})
Run Code Online (Sandbox Code Playgroud)
作为参数,放入所需视图的可访问性标签的文本是有意义的。如果用户能够识别屏幕阅读器焦点的白色周围,则受损用户将不知道屏幕阅读器的焦点在哪里。
0.1为了使事情顺利,在使用不同语言进行测试时应该调整延迟。
| 归档时间: |
|
| 查看次数: |
1609 次 |
| 最近记录: |