使用屏幕导航
Vega通过UIController API提供屏幕语音导航。要访问API,您可以在Button、Pressable、Text、TouchableHighlight、TouchableOpacity、TouchableWithoutFeedback和View组件上设置ariaPosInSet、aria-label、keplerAltLabels、alexaEntityType和alexaExternalID属性。
ariaPosInSet和aria-label属性可实现无障碍富互联网应用 (ARIA) 功能:
ariaPosInSet-“position in set”的简称。 定义元素在当前列表项目或树项目集合中的数量或位置。aria-label- 一个字符串值,可为交互式组件指定语音可选择名称。
对于目前使用ariaLabel提供语音可选名称的应用,我们提供向后兼容性支持。但是,最好将您的应用迁移到aria-label。
除了aria-label之外,Vega还支持组件上的备用标签:
keplerAltLabels- 组件的其他语音可选择名称的列表。
keplerAltLabels取代了keplerAtlLabels。未来版本中将删除keplerAtlLabels。建议您尽快迁移到keplerAltLabels。以下属性定义特定于Alexa的属性:
alexaEntityType- 指定Alexa实体类型。有关其他信息,请参阅Alexa.UIController接口 (VSK Fire TV) 中的Enum<EntityTypes>。
要在应用中启用屏幕导航,必须在manifest.toml中声明kva-category。
在组件部分中,添加以下声明:
categories = ["com.amazon.category.kva"]
有关manifest.toml文件的更多信息,请参阅Vega应用清单文件。
在侧载使用语音功能(包括UIController API)的应用时,必须重启设备才能启用这些功能。
以下代码示例显示了如何在启用了屏幕导航的情况下呈现类似按钮的组件。
<TouchableOpacity
testID={"touchable opacity testid"}
aria-label={'The Marvelous Iron Man'}
ariaPosInSet={1}
alexaEntityType={'VideoObject'}
keplerAltLabels={["Iron Man", "Marvelous Iron Man"]}
>
<View>
<Text
testID='vn_touchable_opacity_text'
style={styles.buttonText}>
{"1. " + "The Marvelous Iron Man"}
</Text>
</View>
</TouchableOpacity>
相关主题
Last updated: 2025年9月30日

