如何解决垂直平面列表上水平平面列表项目的焦点旁白
我将一个水平平面列表添加到另一个垂直平面列表中。画外音可以遍历垂直平面列表,无法滚动到水平平面列表中的下一项,这是现在的问题。
这也会发生在 iOS 本机代码中。但是我看到了它在 iOS 本机代码中针对同一场景工作的一种可能方式,其中我们有一个委托函数 accessibilityElementDidBecomeFocused(),当可访问性焦点移动到其他隐藏项时将调用该函数。 在这种情况下,我们将使用函数在 iOS 原生代码中以编程方式滚动水平 tableview,如 this link。我正在寻找 React Native 可访问性方面的类似解决方案。
return (
<View accessible={false}>
<View style={...} accessible={false}>
<FlatList
style={{ flex: 1 }}
data={data}
ref={flatListRef}
initialNumToRender={3}
windowSize={3}
renderItem={renderItem}
pagingEnabled={true}
getItemLayout={(data,index) => ({
length: itemStyle.width,offset: itemStyle.width * index,index,})}
horizontal={true}
accessible={false}
accessibilityElementsHidden={false}
removeClippedSubviews={false}
/>
</View>
</View>
)
renderItem
已启用无障碍功能(即。accessible={true}
)并设置相应的无障碍功能值。
通过上面的代码设置,可访问性焦点实际上是移动到水平平面列表中的下一项。即,当从左到右滑动时,我可以听到阅读各个渲染项的辅助功能标签时的声音
-
item 1 of 10
,可访问性焦点可见并设置为第一项 -
item 2 of 10
,可访问性焦点不可见,第二项不可见 -
item 3 of 10
,可访问性焦点不可见,第三项不可见
因为我在 React Native 中找不到任何与 accessibilityElementDidBecomeFocused()
等效的 API,所以我很震惊,无法在 RN 中以编程方式滚动平面列表内容。
请有人为这个问题提供任何可能的解决方案。
附注
- 在
Android
中,垂直平面列表中水平平面列表的回话遍历工作正常。问题仅在iOS
中。 - 我已经尝试了 accessibility actions 并且在两个平台上都按预期工作,但企业希望通过画外音遍历水平平面列表,只能通过从左到右滑动来实现。
- 在上面的代码片段中尝试使用水平滚动视图的包装视图,这在画外音期间无助于滚动水平平面列表。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。