as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
AWS
文档
Support
Contact Us
My Cases
新手入门
设计和开发
应用发布
参考
支持

使用屏幕导航

使用屏幕导航

Vega通过UIController API提供屏幕语音导航。要访问API,您可以在ButtonPressableTextTouchableHighlightTouchableOpacityTouchableWithoutFeedbackView组件上设置ariaPosInSetaria-labelkeplerAltLabelsalexaEntityTypealexaExternalID属性。

ariaPosInSet和aria-label属性可实现无障碍富互联网应用 (ARIA) 功能:

  • ariaPosInSet -“position in set”的简称。 定义元素在当前列表项目或树项目集合中的数量或位置。
  • aria-label - 一个字符串值,可为交互式组件指定语音可选择名称。

对于目前使用ariaLabel提供语音可选名称的应用,我们提供向后兼容性支持。但是,最好将您的应用迁移到aria-label

除了aria-label之外,Vega还支持组件上的备用标签:

  • 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日