iOS: VoiceOver 在错误的地方点击

iOS: VoiceOver click-through in wrong place

我正在编写一个使用 touchesBegan/Moved/etc 跟踪手势并将其绘制在屏幕上的应用程序。启用 VoiceOver 后,当我在绘图区域上双击时,无论实际点击的位置如何,第一次触摸总是在视图的中心(到达 touchesBegan)。想法?

我已将视图的辅助功能属性设置为

self.isAccessibilityElement = true           // Default is false.
self.accessibilityElementsHidden = false     // Default is false anyway.

这是因为 VoiceOver 会捕获手势,并将其转化为更基本的事件。这使残障用户可以更轻松地与应用程序交互。虽然这会完全破坏您的应用程序的可访问性,但我并不一定推荐它。你要找的是UIAccessibilityTraitAllowsDirectInteraction。同样,这将在几乎所有情况下完全破坏可访问性。但是,在绘图应用程序中,这可能只是有意义的,并且有助于部分站点用户的可访问性。

您应该向视力不佳的用户说明,该应用是绘图 space,需要在屏幕的其他区域执行正常的 VoiceOver 手势。此外,请确保您的视图不会占用太多屏幕,以免妨碍 VoiceOver 的标准使用。