有没有办法仅在通过滑动导航时忽略辅助功能元素?

Is there a way to ignore accessibility element only while navigating via swipes?

如您所知,iOS VoiceOver 模式提供了两种浏览屏幕元素的方法。一种是直接在界面元素的框架内触摸,另一种是通过在屏幕上的任意位置向左或向右滑动,按出现顺序一个一个地遍历元素。

现在我们的应用程序在每个单元格中都有一个 UITableView 按钮,该按钮很少使用,但在功能上仍然很重要。

为了更快地浏览 table 视图,我们的用户要求我们在我们的应用程序中配置 VoiceOver 模式,使其跳过阅读此按钮标题的方式 在使用滑动导航时。不能在此处使用 accessibilityElementsHidden,因为该按钮仍然需要用户在实际需要时直接触摸它才能发现。但是在通过滑动导航时,它应该被屏幕忽略reader。 (accessibilityElementsHidden 为两种导航模式禁用它,使 VoiceOver 用户完全无法访问该按钮)

我们筛选了 UIAccessibilityTraits 但无济于事。你知道实现这种行为的方法吗?

我认为我没有在任何应用程序中看到过这种行为——跳过可聚焦元素。相反,table 中包含按钮的视图单元格通常做的是提供按钮功能作为 "custom action"。当 VoiceOver 聚焦于单元格时,它会让用户知道自定义操作可用,并且用户可以向上或向下滑动以更改在激活 element/cell(双击)时调用的操作。

这样一来,单次滑动即可将焦点从一个单元格移动到另一个单元格,并且按钮功能仍然可用。