可访问性自定义操作未在 Swift 中公布

Ran*_*rns 5 accessibility voiceover swift

当我添加accessibilityCustomActions到一个对象时,它可以在设备上正常工作,因为能够在操作中上下滑动并选择它们,但是没有关于“可用操作”的公告 - 我应该将其写入accessibilityLabel我?

我认为通过向我的对象添加自定义操作,它会自动宣布“可用的操作”,或“向上滑动以选择...”

XLE*_*_22 5

我认为通过向我的对象添加自定义操作,它会自动宣布“可用操作”,或“向上滑动以选择...”

你是对的,它应该已经宣读了这些公告,但这种奇怪的行为已经被引入,使其在 iOS 13 中变得稀缺。

“iOS 13 引入了一种新的自定义操作行为:“可用操作”公告不再总是出现。
以前它会提供给包含自定义操作的每个元素,但现在,当您导航到包含不同一组动作。
目的是防止在与前一个元素存在相同动作的元素上重复公告“
来源

无法撤消这种行为,这对 VoiceOver 用户来说几乎是有效的。
此外,如果您在 iOS 12 中执行相同操作,它会完美运行:每次为可访问元素实现自定义操作时,都会出现并宣布自定义操作。

不幸的是,在iOS 13 中,这是Apple 支持本身(accessibility@apple.com)解释的一种新行为,但没有公开演示(WWDC、Apple 网站......),对于如此巨大的修改来说,这更像是一个问题,这太疯狂了对于使用 VoiceOver 的视障人士来说,这是一个重大的进步。

支持人员没有提出任何解决方案,我们将不得不处理这个问题,除非在下一个 WWDC 中进行回滚……点燃蜡烛。

?? ??????编辑 ???????? (2020/03/19)

我写了一个d eveloper牛逼技术小号upportncident (无730330678)对于这个问题,这里是来自苹果的答案:

没有公开的信息。
我们有意在 iOS 13 中进行了更改,以便仅在操作列表从您所在的上一个元素发生更改或您移动到其他容器时才说出可用操作。
您可以对列表进行快速操作或在容器之间快速跳转,但这应该无需更改代码即可工作。
不幸的是,在当前的运输系统中,这是一个错误。
我们也在改进我们的文档,所以请继续关注。

我提交了一个错误报告,标题为VoiceOver 不再使用参考FB7426771读出自定义操作

现在,您知道为什么Swift 中没有宣布可访问性自定义操作......只是有时在 iOS 13 中。