Sur cette page

Accessibilité des applications « Qt Quick »

Introduction

Cette page explique comment ajouter des métadonnées d’accessibilité aux applications Qt Quick. Les applications Qt Quick et bon nombre de leurs types QML intègrent déjà des fonctionnalités d’accessibilité. Par exemple, les contrôles « Button » sont accessibles au clavier, ce qui permet de naviguer entre les contrôles à l’aide de la touche Tab et de les activer à l’aide des touches Retour ou Entrée. Ainsi, en utilisant les contrôles existants, vous partez déjà du bon pied pour rendre votre application Qt Quick accessible. Dans certains cas, cependant, vous devrez peut-être clarifier le rôle d’un élément QML.

Tout comme pour rendre les applications web accessibles, vous attribuez des propriétés aux éléments de l’interface utilisateur, en l’occurrence aux éléments QML. Ces propriétés exposent des métadonnées aux outils d’accessibilité qui, associées à des thèmes de couleurs à fort contraste soigneusement choisis et à d’autres repères visuels, aident l’utilisateur à interagir avec votre application Qt Quick.

En général, les outils d’accessibilité s’intéressent à trois catégories différentes de métadonnées :

  • Propriétés: le client d’accessibilité lit les métadonnées relatives aux objets accessibles. Dans certains cas, il peut également modifier ces propriétés, comme le texte d’un champ de saisie.
  • Actions: le client d’accessibilité déclenche des actions, telles que l’appui sur un bouton.
  • Relations et navigation: le client d’accessibilité passe d’un objet accessible à un autre en utilisant les relations entre les objets.

Pour les applications d’ Qt Quick, le type le plus important à connaître est le type QML ` Accessible `, qui ajoute des métadonnées d’ aux éléments QML.

Ajout de métadonnées d’accessibilité aux éléments QML

Pour ajouter des métadonnées d’accessibilité à des éléments QML, qu’il s’agisse de types existants fournis par Qt ou de types personnalisés définis en C++, utilisez le type QML ` Accessible `. Les propriétés les plus importantes du type QML ` Accessible ` sont ` name`, ` description` et ` role`.

Voici un exemple d'ajout de métadonnées d'accessibilité à un type ` Text `, qui, dans ce cas, représente une équation mathématique :

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

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

La propriété ` role ` est définie sur ` Equation ` pour indiquer ce que représente le type ` Text `. La propriété ` name ` est la plus importante ; elle est liée au texte du bouton. Pour fournir des informations supplémentaires sur un élément QML, utilisez la propriété ` description `. Le gestionnaire de signal ` Accessible.pressAction`, qui peut être invoqué par des outils d’accessibilité pour activer le bouton, doit produire le même effet que d’appuyer ou de cliquer sur le texte.

Alors que le contenu textuel est intrinsèquement accessible, ce n’est pas le cas du contenu multimédia. Il est donc important de fournir les métadonnées d’accessibilité nécessaires aux contenus multimédias tels que les images, les vidéos et les fichiers audio. Voici un exemple illustrant comment fournir des métadonnées d’accessibilité à une image représentant un diagramme circulaire :

Image {
    source: "pie-chart-683.png"
    Accessible.role: Accessible.Chart
    Accessible.name: qsTr("Pie chart")
    Accessible.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
        ...
    }
}

Pour plus d’informations, consultez Accessible pour obtenir la liste des propriétés que vous pouvez ajouter aux éléments QML.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.