动态更改isAccessibilityElement

时间:2015-12-11 19:08:31

标签: ios accessibility voiceover uiaccessibility

我有点奇怪的情况。当我使用2指滑动方法时,我需要有一个元素不被VoiceOver读出,但是在点击它时仍然需要读取。

该对象是TableView单元的一部分,并且我已经为TableView单元提供了自己的accessibilityLabel,因为它包含两个交互元素,其中一个在点击时实际上不需要读取,所以我已经禁用了它的可访问性属性。

然而,当我点击时,我的另一个需要被阅读。问题是,它已被作为单元的accessibilityLabel的一部分读取,然后再次读取它,因为它仍然是一个可访问的元素。有没有办法区分VoiceOver读取元素的原因?或者动态更改accessibilityLabel?

1 个答案:

答案 0 :(得分:0)

您可以通过在可访问视图上分配或覆盖方法来动态更改accessibilityLabel。但是,您不应该依赖VoiceOver实时关注变化。

用户可以通过点击或滑动进行导航,并期望元素持续存在,无论它们是如何到达的。总的来说,我不鼓励假设用户如何与VoiceOver交互的聪明解决方案。

我建议您覆盖单元格摘要以省略标签或禁用标签上的辅助功能,并将内容保留在单元格摘要中。