首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >响应本机a11y:分组元素以获得更好的语音转换通知,同时仍然公开内部可访问的元素

响应本机a11y:分组元素以获得更好的语音转换通知,同时仍然公开内部可访问的元素
EN

Stack Overflow用户
提问于 2022-07-18 19:33:54
回答 1查看 236关注 0票数 0

根据我目前的理解,VoiceOver从左到右、从上到下公布信息,因为它假设视觉用户是这样看待内容的。

(我还不明白画外音是如何准确地计算出订单的,它当然不依赖于呈现的布局树。如有任何指示,将不胜感激)

如果您有一个跨多个行的原子内容,您希望通过画外音( voiceover )一起宣布这些内容,则可以通过在容器视图中添加accessible={true}对其进行分组。问题是,这使得任何内部交互元素对于可访问性焦点都不可用,并且只允许在此容器视图上使用a11y焦点。

考虑以下设计:

两张卡片并排显示,每张卡片都有一个标题,字幕和cta。在屏幕阅读器焦点上,我们希望首先读取第一张卡的内容,并宣布其CTA,然后移动到第二张卡并进行同样的操作。默认情况下,title1、title2、subtitle1、subtitle2、cta1、cta2在默认情况下都会出现,这对用户来说毫无意义。

要解决这个问题,一种方法是使容器视图accesible={true},这有一个副作用,即CTA现在对可访问性焦点不可用,因此屏幕阅读器用户无法到达或单击CTA。

有什么首选的模式来解决这个问题吗?

编辑:为每张卡添加示例代码:

代码语言:javascript
复制
<View style={...} key={...}>
  <Text>{title}</Text>
  <Text>{subtitle}</Text>
  <Button flat secondary onPress={() => onPress(item)}>
    {cta}
  </Button>   
</View>
EN

回答 1

Stack Overflow用户

发布于 2022-07-19 07:11:30

查看UIAccessibilityContainer,特别是accessibilityElements属性。

这两者都是objects对象,没有反应,但希望react允许您访问它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73027686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档