QAccessibleInterface Class
La classe `QAccessibleInterface` définit une interface qui fournit des informations sur les objets accessibles. En savoir plus...
| En-tête : | #include <QAccessibleInterface> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake : | QT += gui |
| Hérité par : |
- Liste de tous les membres, y compris les membres hérités
- QAccessibleInterface fait partie des classes d'accessibilité.
Fonctions publiques
| QAccessibleActionInterface * | actionInterface() |
| virtual QColor | backgroundColor() const |
| virtual QAccessibleInterface * | child(int index) const = 0 |
| virtual QAccessibleInterface * | childAt(int x, int y) const = 0 |
| virtual int | childCount() const = 0 |
| virtual QAccessibleInterface * | focusChild() const |
| virtual QColor | foregroundColor() const |
| virtual int | indexOfChild(const QAccessibleInterface *child) const = 0 |
| virtual void * | interface_cast(QAccessible::InterfaceType type) |
| virtual bool | isValid() const = 0 |
| virtual QObject * | object() const = 0 |
| virtual QAccessibleInterface * | parent() const = 0 |
| virtual QRect | rect() const = 0 |
| virtual QList<std::pair<QAccessibleInterface *, QAccessible::Relation>> | relations(QAccessible::Relation match = QAccessible::AllRelations) const |
| virtual QAccessible::Role | role() const = 0 |
(since 6.5) QAccessibleSelectionInterface * | selectionInterface() |
| virtual void | setText(QAccessible::Text t, const QString &text) = 0 |
| virtual QAccessible::State | state() const = 0 |
| QAccessibleTableCellInterface * | tableCellInterface() |
| QAccessibleTableInterface * | tableInterface() |
| virtual QString | text(QAccessible::Text t) const = 0 |
| QAccessibleTextInterface * | textInterface() |
| QAccessibleValueInterface * | valueInterface() |
(since 6.12) QAccessibleViewportInterface * | viewportInterface() |
| virtual QWindow * | window() const |
Fonctions protégées
| QAccessibleInterface() | |
| virtual | ~QAccessibleInterface() |
Description détaillée
Cette classe fait partie de la fonctionnalité d'accessibilité pour les applications QWidget.
Les outils d’accessibilité (également appelés « clients AT »), tels que les lecteurs d’écran ou les afficheurs braille, ont besoin d’informations de haut niveau sur les objets accessibles d’une application. Les objets accessibles fournissent des méthodes d’entrée et de sortie spécialisées, permettant ainsi aux utilisateurs d’utiliser des outils d’accessibilité avec des applications compatibles (serveurs AT).
Tout élément avec lequel l’utilisateur doit interagir ou auquel il doit réagir est un objet accessible et doit fournir ces informations. Il s’agit principalement d’objets visuels, tels que les widgets et leurs éléments, mais cela peut également concerner du contenu, comme des sons.
Le client AT utilise trois concepts de base pour obtenir des informations sur tout objet accessible d’une application :
- Propriétés: le client peut lire les informations relatives aux objets accessibles. Dans certains cas, il peut également modifier ces propriétés, par exemple le texte d'un champ de saisie.
- Actions: le client peut déclencher des actions, par exemple en appuyant sur un bouton ou .
- Relations et navigation: le client peut passer d’un objet accessible à un autre en utilisant les relations entre les objets.
L'interface QAccessibleInterface définit l'API pour ces trois concepts.
Relations et navigation
Les fonctions ` childCount()` et ` indexOfChild()` renvoient respectivement le nombre d’enfants d’un objet accessible et l’index d’un objet enfant au sein de son parent. La fonction ` childAt()` renvoie un objet `QAccessibleInterface` enfant situé à une position donnée. L’enfant n’a pas besoin d’être un enfant direct. Cela permet de contourner les couches intermédiaires lorsque le parent connaît déjà l’enfant le plus en haut de la hiérarchie. La fonction ` childAt()` est utilisée pour le test de collision (recherche de l’objet situé sous le curseur de la souris).
La fonction relations() fournit des informations sur les relations qu’un objet entretient avec d’autres objets, tandis que parent() et child() permettent de passer d’un objet à un autre.
Propriétés
La propriété centrale d’un objet accessible est son rôle ( role()). Différents objets peuvent avoir le même rôle ; par exemple, l’élément « Ajouter une ligne » d’une barre de défilement et le bouton « OK » d’une boîte de dialogue ont tous deux le même rôle, à savoir « bouton ». Le rôle détermine le type d’interaction que l’utilisateur peut effectuer avec l’élément de l’interface utilisateur.
La propriété state() d’un objet est une combinaison de différents indicateurs d’état et peut décrire à la fois en quoi l’état de l’objet diffère d’un état « normal » (par exemple, il peut être indisponible), mais aussi comment il se comporte (par exemple, il peut être sélectionnable).
La propriété ` text()` fournit des informations textuelles sur l’objet. Un objet possède généralement un nom, mais peut fournir des informations supplémentaires telles qu’une description, un texte d’aide ou des informations sur les raccourcis clavier qu’il propose. Certains objets permettent de modifier la propriété ` text()` via la fonction ` setText()`, mais ces informations sont, dans la plupart des cas, en lecture seule.
La propriété ` rect()` fournit des informations sur la géométrie d’un objet accessible. Ces informations ne sont généralement disponibles que pour les objets visuels.
Interfaces
Pour permettre à l’utilisateur d’interagir avec un objet accessible, celui-ci doit implémenter l’interface ` QAccessibleActionInterface ` en plus de `QAccessibleInterface`. Les objets prenant en charge les sélections peuvent définir des actions permettant de modifier la sélection.
Il existe plusieurs autres interfaces qui doivent être implémentées selon les besoins. L’interface ` QAccessibleTextInterface ` doit être utilisée pour les zones d’édition de texte de grande taille, telles que les vues de documents. Cette interface ne doit pas être implémentée pour les étiquettes ou les zones d’édition à une seule ligne.
Pour les curseurs, les barres de défilement et autres sélecteurs de valeurs numériques, l’interface ` QAccessibleValueInterface ` doit être implémentée.
Les listes, tableaux et arborescences doivent implémenter l'interface ` QAccessibleTableInterface`.
Les vues défilables doivent implémenter ` QAccessibleViewportInterface`.
Voir également QAccessible, QAccessibleActionInterface, QAccessibleTextInterface, QAccessibleValueInterface, QAccessibleTableInterface et QAccessibleViewportInterface.
Documentation sur les fonctions membres
[constexpr noexcept protected default] QAccessibleInterface::QAccessibleInterface()
Construit par défaut une instance de ` QAccessibleInterface`.
[virtual noexcept protected] QAccessibleInterface::~QAccessibleInterface()
Supprime l'QAccessibleInterface.
QAccessibleActionInterface *QAccessibleInterface::actionInterface()
[virtual] QColor QAccessibleInterface::backgroundColor() const
Renvoie la couleur d'arrière-plan de l'élément accessible, le cas échéant, ou une valeur non valide de type ` QColor`.
Voir aussi foregroundColor().
[pure virtual] QAccessibleInterface *QAccessibleInterface::child(int index) const
Renvoie l'enfant accessible dont l'index est index. L'index commence à 0. Le nombre d'enfants d'un objet peut être vérifié à l'aide de childCount.
Renvoie ` nullptr ` lorsqu’on demande un enfant non valide (par exemple, lorsque l’enfant est devenu non valide entre-temps).
Voir également childCount() et parent().
[pure virtual] QAccessibleInterface *QAccessibleInterface::childAt(int x, int y) const
Renvoie l’ QAccessibleInterface e d’un élément enfant contenant les coordonnées à l’écran (x, y). S’il n’y a pas d’élément enfant à cette position, cette fonction renvoie nullptr. L’ e renvoyé doit être un élément enfant, mais pas nécessairement un enfant direct.
Cette fonction n'est fiable que pour les objets visibles (les objets invisibles risquent de ne pas être positionnés correctement).
Tous les objets visuels fournissent cette information.
Une implémentation par défaut est fournie pour les objets héritant de ` QAccessibleObject`. Celle-ci parcourt tous les enfants. Si le widget gère ses enfants (par exemple, un tableau), il sera plus efficace d’écrire une implémentation spécialisée.
Voir également ` rect()`.
[pure virtual] int QAccessibleInterface::childCount() const
Renvoie le nombre d'enfants associés à cet objet. Un enfant peut fournir lui-même des informations d'accessibilité (par exemple, un widget enfant) ou être un sous-élément de cet objet accessible.
Tous les objets fournissent ces informations.
Voir également indexOfChild().
[virtual] QAccessibleInterface *QAccessibleInterface::focusChild() const
Renvoie l'objet sur lequel se trouve le focus du clavier.
L'objet renvoyé peut être n'importe quel descendant, y compris lui-même.
[virtual] QColor QAccessibleInterface::foregroundColor() const
Renvoie la couleur de premier plan de l'élément actif, le cas échéant, ou une valeur non valide de type ` QColor`.
Voir également backgroundColor().
[pure virtual] int QAccessibleInterface::indexOfChild(const QAccessibleInterface *child) const
Renvoie l'index (à partir de 0) de l'objet child dans la liste des enfants de cet objet, ou -1 si child n'est pas un enfant de cet objet.
Tous les objets fournissent ces informations concernant leurs enfants.
Voir aussi childCount().
[virtual] void *QAccessibleInterface::interface_cast(QAccessible::InterfaceType type)
Renvoie une interface d'accessibilité spécialisée ` type ` à partir de l'interface générique ` QAccessibleInterface`.
Cette fonction doit être réimplémentée lorsqu'on fournit davantage d'informations sur un widget ou un objet via les interfaces spécialisées. Par exemple, un champ de saisie de texte devrait implémenter l'interface ` QAccessibleTextInterface`.
Voir également QAccessible::InterfaceType, QAccessibleTextInterface, QAccessibleValueInterface, QAccessibleActionInterface, QAccessibleTableInterface, QAccessibleTableCellInterface et QAccessibleViewportInterface.
[pure virtual] bool QAccessibleInterface::isValid() const
Renvoie « true » si toutes les données nécessaires à l’utilisation de cette implémentation d’interface sont valides (par exemple, si tous les pointeurs sont non nuls) ; sinon, renvoie « false ».
Voir également object().
[pure virtual] QObject *QAccessibleInterface::object() const
Renvoie un pointeur vers l'interface QObject, pour laquelle cette implémentation fournit des informations.
Voir également isValid().
[pure virtual] QAccessibleInterface *QAccessibleInterface::parent() const
Renvoie l'QAccessibleInterface du parent dans la hiérarchie des objets accessibles.
Renvoie nullptr si aucun parent n'existe (par exemple, pour l'objet d'application de niveau supérieur).
Voir aussi child().
[pure virtual] QRect QAccessibleInterface::rect() const
Renvoie la géométrie de l'objet. La géométrie est exprimée en coordonnées d'écran.
Cette fonction n'est fiable que pour les objets visibles (les objets invisibles risquent de ne pas être positionnés correctement).
Tous les objets visuels fournissent cette information.
Voir également ` childAt()`.
[virtual] QList<std::pair<QAccessibleInterface *, QAccessible::Relation>> QAccessibleInterface::relations(QAccessible::Relation match = QAccessible::AllRelations) const
Renvoie les relations pertinentes avec les autres widgets. En règle générale, cette fonction ne renvoie pas les relations parent/enfant, sauf si celles-ci sont gérées de manière spécifique, comme dans les arborescences. Elle renvoie généralement les relations « labeled-by » et « label ».
Il est possible de filtrer les relations à l'aide du paramètre facultatif ` match`. Cette fonction ne doit jamais se renvoyer elle-même.
Voir également ` parent()` et ` child()`.
[pure virtual] QAccessible::Role QAccessibleInterface::role() const
Renvoie le rôle de l'objet. Le rôle d'un objet est généralement statique.
Tous les objets accessibles ont un rôle.
Voir également text() et state().
[since 6.5] QAccessibleSelectionInterface *QAccessibleInterface::selectionInterface()
Cette fonction a été introduite dans Qt 6.5.
[pure virtual] void QAccessibleInterface::setText(QAccessible::Text t, const QString &text)
Définit la propriété de texte « t » de l'objet sur « text ».
Notez que les propriétés de texte de la plupart des objets sont en lecture seule ; l'appel de cette fonction peut donc ne produire aucun effet.
Voir également text().
[pure virtual] QAccessible::State QAccessibleInterface::state() const
Renvoie l'état actuel de l'objet. La valeur renvoyée est une combinaison des indicateurs de l'énumération QAccessible::StateFlag.
Tous les objets accessibles possèdent un état.
Voir également text() et role().
QAccessibleTableCellInterface *QAccessibleInterface::tableCellInterface()
QAccessibleTableInterface *QAccessibleInterface::tableInterface()
[pure virtual] QString QAccessibleInterface::text(QAccessible::Text t) const
Renvoie la valeur de la propriété text t de l'objet.
La propriété « QAccessible::Name » est une chaîne de caractères utilisée par les clients pour identifier, localiser ou annoncer un objet accessible à l’utilisateur. Tous les objets doivent posséder un nom unique au sein de leur conteneur. Ce nom pouvant être utilisé de différentes manières par les clients, il doit à la fois fournir une brève description de l’objet et être unique.
La propriété « QAccessible::Description » d’un objet accessible fournit des informations textuelles sur l’apparence visuelle de l’objet. La description sert principalement à fournir davantage de contexte aux utilisateurs malvoyants, mais elle est également utilisée pour la recherche contextuelle ou d’autres applications. Tous les objets ne possèdent pas de description. Un bouton « OK » n’a pas besoin de description, contrairement à un bouton d’outil affichant l’image d’un smiley.
L'QAccessible::Value d'un objet accessible représente les informations visuelles contenues dans l'objet, par exemple le texte d'un champ de saisie. En général, cette valeur peut être modifiée par l'utilisateur. Tous les objets ne possèdent pas de valeur ; c'est le cas, par exemple, des étiquettes de texte statiques, tandis que certains objets ont un état qui constitue déjà la valeur, comme les boutons à bascule.
Le texte d’ QAccessible::Help fournit des informations sur la fonction et l’utilisation d’un objet accessible. Tous les objets ne fournissent pas ces informations.
L’ QAccessible::Accelerator est un raccourci clavier qui active l’action par défaut de l’objet. Un raccourci clavier correspond au caractère souligné dans le texte d’un menu, d’un élément de menu ou d’un widget ; il s’agit soit du caractère lui-même, soit d’une combinaison de ce caractère et d’une touche de modification telle que Alt, Ctrl ou Maj. Les commandes de type « bouton d’outil » disposent également de raccourcis clavier, qui sont généralement affichés dans leur info-bulle.
L’ QAccessible::Identifier peut être défini explicitement afin de fournir un identifiant aux technologies d’assistance. Cela peut s’avérer particulièrement utile pour les tests d’interface utilisateur. Si aucun identifiant n’a été défini explicitement, l’identifiant est attribué par l’interface correspondante à partir d’un ID basé sur QObject::objectName ou son nom de classe, et sur QObject::objectName ou le nom de classe des parents dans sa chaîne de parents.
Tous les objets fournissent une chaîne de caractères pour ` QAccessible::Name`.
Voir également setText(), role() et state().
QAccessibleTextInterface *QAccessibleInterface::textInterface()
QAccessibleValueInterface *QAccessibleInterface::valueInterface()
[since 6.12] QAccessibleViewportInterface *QAccessibleInterface::viewportInterface()
Cette fonction a été introduite dans Qt 6.12.
[virtual] QWindow *QAccessibleInterface::window() const
Renvoie la fenêtre associée à l'objet sous-jacent. Par exemple, ` QAccessibleWidget ` réimplémente cette méthode et renvoie la méthode `windowHandle()` de ` QWidget`.
Cette méthode est utilisée sur certaines plateformes pour pouvoir notifier au client AT les changements d’état. Le backend remonte la hiérarchie des ancêtres jusqu’à ce qu’il trouve une fenêtre. (Cela signifie qu’au moins une interface parmi les ancêtres doit renvoyer un pointeur QWindow valide).
L’implémentation par défaut renvoie nullptr.
© 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.