我在这里想念什么?
我进行了许多测试,试图了解这种行为,这让我发疯了。
我的结论是,如果您在VoiceOver讲{标签/提示/值}的同时发送通知,则不会考虑您的通知:当系统需要发声关注对象的属性时,可能会有一种抢占方式元件。
只有在发声结束时,您才能发布任意数量的通知,以根据需要进行深入的分析和解释。
该
UIAccessibilitySpeechAttributeQueueAnnouncement键仅在系统不需要接管时才对您自己的通知有用。
例如,如果您发送了许多通知,并且用户轻弹以关注一个新元素,则系统会在发出该元素的属性后立即删除未发出通知的通知。
在这种情况下,如果您捕获到该
UIAccessibilityAnnouncementDidFinish事件,
UIAccessibilityAnnouncementKeyWasSuccessful则最后一个发声通知(
UIAccessibilityAnnouncementKeyStringValue)的键的值将为错误值…后续的所有通知都将被忽略,并且观察者未提供任何信息。
结论: 当出现新的焦点元素或屏幕/布局更改的通知时,VoiceOver不会考虑任何个人通知 。
如何为VoiceOver排队多个辅助功能通知?
根据上面的介绍,我建议 建立一种重试机制 ,该 机制 仍将发送您的通知 (x次) ,例如在y秒后仍未完全收到通知。
这可能是一个棘手的方法,可以更确定地完美地接收到通知。



