在我的iOS应用程序中,我有一个可扩展的视图。它包含一些UITableViewCells,它们是isAccessibilityElement = true
,还有一些是isAccessibilityElement = false
。(后者是仅包含分隔线的电池;我不想让画外音读这些。)
如果在表格的可见区域底部有一个不可访问的单元格(= false
),那么我就不能“滑过”它以到达一个可访问的表格单元格。相反,右击将可访问性焦点从可见的表格单元格移动到其他可见的UI元素。类似地,如果在表格的可见区域顶部有一个不可访问的单元格,那么我就不能离开-“滑动”它以到达它上面的可访问单元格。
我希望能够在表中所有可访问的单元格中左扫和右扫,并在它们获得焦点时滚动到视图中。我尝试覆盖accessibilityElementDidBecomeFocused
,希望能使用scrollToItem
,但看起来它永远不会获得焦点,所以这永远不会被调用。
有没有什么方法可以让iOS依次向每个可访问的表元素发送焦点,无论它当前是否在视图中?或者是否有一些指导方针说,可访问性应该只处理当前可见的UI元素?
1条答案
按热度按时间rvpgvaaj1#
**问题:**UI重用单元格,结果可访问性树无法从UI中获取数据,并且没有数据源中每个单元格的信息,无法搜索下一个标题。
**解决方案:**通过覆盖
accessibilityElements
处的数据,为每个单元格提供明确的描述。Link to repository