我认为通过将自定义操作添加到我的对象,它会自动宣布“可用操作”,或“向上滑动以选择...”
你是对的,它应该读出这些公告,但是这个奇怪的行为已被引入,使其本身稀缺在 iOS 13 中. ????
“iOS 13 引入了新的自定义操作行为:“可用操作”公告不再始终存在。
它以前提供给包含自定义操作的每个元素,但现在,当您导航到包含不同操作集的另一个元素时,它就会发生。
目的是防止重复宣布与前一个元素具有相同操作的元素” ⇒ source https://a11y-guidelines.orange.com/mobile_EN/dev-ios.html#custom-actions
无法撤消这种对于 VoiceOver 用户来说几乎有效的行为。
此外,如果您在 iOS 12 中执行相同的操作,它会完美运行:每次为可访问元素实现自定义操作时都会出现并宣布它们。????
不幸的是,在iOS 13, 这是一个新行为由 Apple 支持本身解释([电子邮件受保护] /cdn-cgi/l/email-protection)但没有公开演示(WWDC、苹果网站...)对于使用 VoiceOver 的视力障碍人士来说,如此巨大的修改更像是一个问题,而不是一个重大演变,这太疯狂了。????
支持人员没有提出任何解决方案,我们将不得不处理这个问题,除非在下一次 WWDC 中进行回滚...点燃蜡烛。 ????
⚠️⬛️◼️????▪️EDIT▪️????◼️⬛️⚠️(2020/03/19)
我写了一个D开发商T技术的Support Incident (编号:730330678)对于这个问题,苹果给出的答案是:
暂无公开信息。
我们特意在 iOS 13 中进行了更改,以便仅当操作列表与您所在的上一个元素发生更改或者您移动到不同的容器时,我们才会说出可用的操作。
您可以对列表进行快速操作或在容器之间快速切换,但这应该无需更改代码即可工作。
不幸的是,在当前的运输系统中,这是一个错误。
我们也在改进我们的文档,所以请继续关注。
我提交了一份错误报告,标题为VoiceOver 不再读出自定义操作与参考FB7426771.
现在你知道为什么了Swift 中未宣布辅助功能自定义操作...仅有时在 iOS 13 中。????