【问题标题】:UICollectionView Section Headers as Accessibility HeadersUICollectionView 部分标题作为可访问性标题
【发布时间】:2013-04-23 18:06:49
【问题描述】:

我有两个关于可访问性和 UICollectionViews 的问题,希望得到专家的帮助。关于旁白阅读顺序的另一个问题是here。我创建了一个 sample project 来演示这两个问题。

我有一个UICollectionView,我在其中提供自定义部分标题。这些部分标题是可访问性元素,并具有可访问性特征UIAccessibilityTraitHeader 集。当启用 Voice Over 并且用户在集合中水平滑动时,标题被正确宣布,甚至被声明为标题。但是,如果用户向上或向下滑动到下一个标题,Voice Over 只会跳转到另一个标题,如果它是可见的。我假设这是因为当视图在集合视图中不可见时,它会从视图层次结构中删除,并且 Voice Over 不再知道它存在。

您可以拉动this example project,运行它,启用画外音,然后使用转盘将向上/向下滑动设置为标题以查看问题。

有没有办法让用户跳转到当前不可见的标题?任何帮助将不胜感激。

【问题讨论】:

  • 现在是 2021 年,我也遇到了同样的问题。

标签: ios uicollectionview uiaccessibility


【解决方案1】:

您可能必须使用 UICollectionViewscrollToItemAtIndexPath:atScrollPosition:animated: 属性将标题滚动到视图中,然后 VoiceOver 才能读取它。

您可以通过indexPathForItemAtPoint: 使用他们在集合视图中触摸的位置找出您当前所在的indexPath,然后您就知道后面是哪个部分。

【讨论】:

  • 我不确定我是否遵循。我认为启用 Voice Over 后,您不会以传统方式接收点击通知。但是,当单元格收到可访问性焦点时,我可以挂钩。不幸的是,我不知道如何检测用户何时向上或向下滑动以知道何时滚动到上一部分或下一部分。我很确定accessibilityScroll 是三指滚动手势,而不是我正在寻找的单指滑动。
  • 老实说,我还没有使用 Voice Over 来告诉你。这应该可以帮助您了解如何将上面的代码挂接到回调中:stackoverflow.com/a/15616144/308315
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-08
  • 1970-01-01
  • 1970-01-01
  • 2017-02-18
  • 1970-01-01
相关资源
最近更新 更多