首页 > 解决方案 > ImportantForAccessibility=false 与 ContentDescription=null

问题描述

在从屏幕上读出时,我希望 TalkBack 跳过一个元素。

我可以将其设置contentDescriptionnull.

我还阅读了有关ImportantForAccessibility:指示元素是否对 Accessibility API 可见的信息。

还有哪些其他 API?

ImportantForAccessibility=false用完会更干净contentDescription=null吗?

标签: androidaccessibilitycontent-dispositiontalkback

解决方案


ImportantForAccessibility=false用于隐藏可访问性树中的任何元素,包括按钮、内容等。

contentDescription=null仅对您想要隐藏的图像(可能还有其他我想不到的项目)有用,否则辅助功能树将尽力为项目找到合适的名称。

一个典型的例子是ImageButton- 如果您使用contentDescription=null它,它将宣布“按钮”和目标/按钮文本。如果您使用ImportantForAccessibility=false它,它将完全从可访问性树中隐藏该项目。

我能想到的最好的类比(如果您熟悉 Web 标准)contentDescription就像一个alt属性或aria-labelledby属性,ImportantForAccessibility=false类似于aria-hidden="true".

我要提醒你的一件事- 除了装饰项目之外,你不应该真正从可访问性树中隐藏项目,只是要小心你没有给屏幕阅读器用户提供不同的体验(你没有指定你的用例,只是想把这一点锤回家)。

最后一件事 - 尝试一下TalkBack,在设备上进行测试是了解您是否正确的最快方法!


推荐阅读