Qt Quick应用的辅助功能

介绍

本页解释了如何为Qt Quick应用添加辅助功能元数据。Qt Quick应用及其许多QML类型已经内置了辅助功能特性。例如,按钮控件具有键盘辅助功能,可以切换控件并使用Return或Enter键激活它们。因此,通过使用现有控件,您已经在使Qt Quick应用具有辅助功能方面取得了良好的开端。但是,在某些情况下,您可能需要明确一个QML项的职责。

类似于使Web应用具有辅助功能,您将为UI元素分配属性,在这种情况下,为QML项分配属性。这些属性将元数据暴露给辅助工具,与精心选择的高对比度颜色主题和其他视觉提示一起,有助于用户与您的Qt Quick应用交互。

通常,辅助工具对三种不同类别的元数据感兴趣

  • 属性:辅助功能客户端读取关于可访问对象的元数据。在某些情况下,辅助功能客户端还可以修改这些属性,例如行编辑中的文本。
  • 操作:辅助功能客户端调用操作,例如按按钮。
  • 关系和导航:辅助功能客户端通过对象之间的关系从一个可访问对象导航到另一个可访问对象。

对于Qt Quick应用,最重要的是要了解的QML类型是Accessible,它为QML项添加辅助功能元数据。

将辅助功能元数据添加到QML项

要将辅助功能元数据添加到QML项,无论是Qt提供的现有类型,还是C++中定义的自定义类型,请使用Accessible QML类型。Accessible QML类型最重要的属性是namedescriptionrole

以下是将辅助功能元数据添加到Text类型的示例,在这种情况下,它代表一个数学方程式

Text {
    id: myMathEquation
    text: "y = 8x - 9"
    font.family: "Helvetica"

    Accessibility.role: Accessible.Equation
    Accessibility.name: myMathEquation.text
    Accessibility.description: qsTr("Linear equation")
    Accessible.onPressAction: {
        // Highlight the x variable
        ...
    }
}

role被设置为Equation,以指示Text类型表示的内容。最重要的属性是name,它与按钮中的文本绑定。为了提供有关QML项的额外信息,请使用description属性。信号处理器Accessible.pressAction可以由辅助工具调用以触发按钮,需要具有与轻触或点击文本相同的效果。

由于文本内容本质上可访问,多媒体内容则不可。因此,为图像、视频和音频等多媒体内容提供必要的辅助功能元数据非常重要。以下是一个为饼图图像提供辅助功能元数据的示例。

Image {
    source: "pie-chart-683.png"
    Accessibility.role: Accessible.Chart
    Accessibility.name: qsTr("Pie chart")
    Accessibility.description: qsTr("Pie chart that shows the distribution
    of sales from three store locations: Durban representing 60 percent,
    Johannesburg 20 percent, and Cape Town 20 percent")
    Accessible.onPressAction: {
        // Expand the image
        ...
    }
}

有关更多信息,请参阅辅助功能,了解您可以添加到QML元素中的属性列表。

© 2024 Qt公司有限公司。此处包含的文档贡献属于其各自的拥有者。此处提供的文档是根据自由软件基金会发布的条款和条件,按照GNU自由文档许可证版本1.3许可的。Qt及其相关标志是Qt公司在芬兰及/或其他国家的注册商标。所有其他商标均为各自所有者的财产。