Sur cette page

QAccessible Class

La classe QAccessible fournit des énumérations et des fonctions statiques liées à l'accessibilité. En savoir plus...

En-tête : #include <QAccessible>
CMake : find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake : QT += gui

Types publics

struct State
(since 6.8) enum class AnnouncementPoliteness { Polite, Assertive }
(since 6.8) enum class Attribute { Custom, Level, Locale, Orientation }
enum Event { AcceleratorChanged, ActionChanged, ActiveDescendantChanged, Alert, Announcement, …, VisibleDataChanged }
Id
InterfaceFactory
enum InterfaceType { TextInterface, ValueInterface, ActionInterface, TableInterface, TableCellInterface, …, ViewportInterface }
flags Relation
enum RelationFlag { Label, Labelled, Controller, Controlled, DescriptionFor, …, AllRelations }
enum Role { AlertMessage, Animation, Application, Assistant, BlockQuote, …, Window }
enum Text { Name, Description, Value, Help, Accelerator, …, Identifier }
enum TextBoundaryType { CharBoundary, WordBoundary, SentenceBoundary, ParagraphBoundary, LineBoundary, NoBoundary }

Membres publics statiques

QAccessibleInterface *accessibleInterface(QAccessible::Id id)
void deleteAccessibleInterface(QAccessible::Id id)
void installFactory(QAccessible::InterfaceFactory factory)
bool isActive()
QAccessibleInterface *queryAccessibleInterface(QObject *object)
QAccessible::Id registerAccessibleInterface(QAccessibleInterface *iface)
void removeFactory(QAccessible::InterfaceFactory factory)
void setRootObject(QObject *object)
QAccessible::Id uniqueId(QAccessibleInterface *iface)
void updateAccessibility(QAccessibleEvent *event)

Description détaillée

Cette classe fait partie de l'accessibilité pour les applications QWidget.

Les applications accessibles peuvent être utilisées par des personnes qui ne sont pas en mesure d'utiliser les applications par des moyens conventionnels.

Les fonctions de cette classe servent à la communication entre les applications accessibles (également appelées « serveurs AT ») et les outils d’accessibilité (clients AT), tels que les lecteurs d’écran et les afficheurs braille. Les clients et les serveurs communiquent de la manière suivante :

  • Les serveurs AT informent les clients des événements via des appels à la fonction ` updateAccessibility()`.
  • Les clients AT demandent des informations sur les objets présents sur le serveur. La classe ` QAccessibleInterface ` constitue l’interface centrale et encapsule ces informations dans une API purement virtuelle. Les implémentations de cette interface sont fournies par Qt via l’API ` queryAccessibleInterface()`.

La communication entre les serveurs et les clients est initialisée par la fonction ` setRootObject()`. Des pointeurs de fonction peuvent être définis pour remplacer ou étendre le comportement par défaut des fonctions statiques de `QAccessible`.

Qt prend en charge Microsoft Active Accessibility (MSAA), l'accessibilité macOS et la norme AT-SPI d'Unix/X11. D'autres backends peuvent être pris en charge à l'aide de QAccessibleBridge.

Dans l’implémentation AT-SPI d’Unix/X11, les applications deviennent accessibles lorsque deux conditions sont remplies :

  • la propriété DBus `org.a11y.Status.IsEnabled` est à la valeur « true »
  • la propriété DBus `org.a11y.Status.ScreenReaderEnabled` est à la valeur `true`

Une alternative à la configuration des propriétés DBus AT-SPI consiste à définir la variable d'environnement QT_LINUX_ACCESSIBILITY_ALWAYS_ON.

Outre les fonctions statiques de `QAccessible`, Qt propose une interface générique, ` QAccessibleInterface`, qui peut être utilisée pour encapsuler tous les widgets et objets (par exemple, ` QPushButton`). Cette interface unique fournit toutes les métadonnées nécessaires aux technologies d’assistance. Qt fournit des implémentations de cette interface pour ses widgets intégrés sous forme de plugins.

Lorsque vous développez des widgets personnalisés, vous pouvez créer des sous-classes personnalisées de ` QAccessibleInterface ` et les distribuer sous forme de plugins (à l’aide de ` QAccessiblePlugin`) ou les compiler dans l’application. De même, la prise en charge prédéfinie de l’accessibilité de Qt peut être intégrée sous forme de plugin (par défaut) ou directement dans la bibliothèque Qt. Le principal avantage de l’utilisation de plugins est que les classes d’accessibilité ne sont chargées en mémoire que si elles sont réellement utilisées ; elles ne ralentissent pas le fonctionnement dans le cas courant où aucune technologie d’assistance n’est utilisée.

Qt inclut également deux classes pratiques, QAccessibleObject et QAccessibleWidget, qui héritent de QAccessibleInterface et fournissent le plus petit dénominateur commun en matière de métadonnées (par exemple, la géométrie des widgets, le titre de la fenêtre, le texte d’aide de base). Vous pouvez les utiliser comme classes de base lorsque vous encapsulez vos sous-classes personnalisées QObject ou QWidget.

Voir également QAccessibleInterface.

Documentation sur les types de membres

[since 6.8] enum class QAccessible::AnnouncementPoliteness

Cette énumération décrit la priorité des annonces utilisées par l'QAccessibleAnnouncementEvent.

Avec l'QAccessible::AnouncementPoliteness::Polite, les technologies d'assistance doivent annoncer le message dès que l'occasion s'y prête, par exemple à la fin de la lecture de la phrase en cours ou lorsque l'utilisateur interrompt la saisie. Une annonce « polie » peut toutefois interrompre une annonce « polie » en cours.

Lorsque la valeur « QAccessible::AnouncementPoliteness::Assertive » est spécifiée, les technologies d’assistance doivent avertir l’utilisateur immédiatement.

Une interruption pouvant désorienter les utilisateurs ou les empêcher de terminer leur tâche en cours, l’attribut « QAccessible::AnouncementPoliteness::Assertive » ne doit pas être utilisé, sauf si l’interruption est impérative.

ConstanteValeurDescription
QAccessible::AnnouncementPoliteness::Polite0L'annonce a une priorité normale.
QAccessible::AnnouncementPoliteness::Assertive1L'annonce a une priorité élevée et doit avertir l'utilisateur immédiatement, même si cela implique d'interrompre la tâche en cours de l'utilisateur.

Cette énumération a été introduite dans Qt 6.8.

Voir aussi QAccessibleAnnouncementEvent.

[since 6.8] enum class QAccessible::Attribute

Cette énumération décrit les différents types d’attributs utilisés par l’interface de programmation « QAccessibleAttributesInterface ».

Ces attributs sont comparables au concept de propriétés/(attributs d’objet) que l’on retrouve dans ARIA, AT-SPI2, IAccessible, UIA et NSAccessibility, et sont mis en correspondance avec leur équivalent sur la plateforme concernée, le cas échéant.

Chaque attribut est traité comme une paire clé-valeur, les valeurs de cette énumération servant de clés.

Les valeurs d’attribut sont représentées dans un ` QVariant`. Le type de la valeur stockée dans le ` QVariant ` est fixe et spécifié ci-dessous pour chacun des types d’attribut.

ConstanteValeurDescription
QAccessible::Attribute::Custom0type de valeur : QHash<QString, QString> L’attribut « Custom » est particulier en ce sens qu’il peut représenter efficacement plusieurs attributs à la fois, puisqu’il s’agit lui-même d’une QHash utilisée pour représenter des paires clé-valeur. Pour les plateformes prenant en charge des paires clé-valeur personnalisées pour les attributs, celles définies dans l’attribut « Custom » sont transmises à la couche plateforme sans aucune conversion vers des attributs spécifiques à la plateforme. En général, il convient d’utiliser les autres attributs, dont le typage est plus strict. Cet attribut peut, par exemple, être utilisé pour le prototypage avant l’ajout officiel d’une nouvelle valeur d’énumération pour une fonctionnalité spécifique.
QAccessible::Attribute::Level1type de valeur : int Définit le niveau hiérarchique d’un élément au sein d’une structure, par exemple le niveau d’une balise d’en-tête. Cet attribut correspond conceptuellement à la propriété « aria-level » dans ARIA.
QAccessible::Attribute::Locale (since Qt 6.10)2Type de valeur : QLocale Paramètre régional de l’élément. Cet attribut peut être utilisé pour spécifier qu’un élément possède un paramètre régional différent de celui par défaut de l’application, par exemple pour des documents ou des paragraphes au sein d’un document qui utilisent une langue différente de celle de l’interface utilisateur de l’application.
QAccessible::Attribute::Orientation (since Qt 6.11)3Type de valeur : Qt::Orientation Orientation de l'élément. Cet attribut correspond conceptuellement à la propriété « aria-orientation » d’ARIA.

Cette énumération a été introduite dans Qt 6.8.

Voir également QAccessibleAttributesInterface.

enum QAccessible::Event

Ce type d'énumération définit les types d'événements accessibles.

ConstanteValeurDescription
QAccessible::AcceleratorChanged0x80C0Le raccourci clavier d'une action a été modifié.
QAccessible::ActionChanged0x0101Une action a été modifiée.
QAccessible::ActiveDescendantChanged0x0102 
QAccessible::Alert0x0002Une alerte système (par exemple, un message provenant d'un QMessageBox)
QAccessible::Announcement (since Qt 6.8)0x80D0L'annonce d'un message est demandée.
QAccessible::AttributeChanged0x0103 
QAccessible::ContextHelpEnd0x000DL'aide contextuelle (QWhatsThis) relative à un objet est terminée.
QAccessible::ContextHelpStart0x000CL'aide contextuelle (QWhatsThis) d'un objet est lancée.
QAccessible::DefaultActionChanged0x80B0L'action par défaut QAccessible::Action de l'objet accessible a changé.
QAccessible::DescriptionChanged0x800DL'QAccessible::Description de l'objet a changé.
QAccessible::DialogEnd0x0011Une boîte de dialogue (QDialog) a été masquée.
QAccessible::DialogStart0x0010Une boîte de dialogue (QDialog) a été rendue visible.
QAccessible::DocumentContentChanged0x0104Le contenu d’un document texte a changé.
QAccessible::DocumentLoadComplete0x0105Un document a été chargé.
QAccessible::DocumentLoadStopped0x0106Le chargement d’un document a été interrompu.
QAccessible::DocumentReload0x0107Le rechargement d'un document a été lancé.
QAccessible::DragDropEnd0x000FUne opération de glisser-déposer est sur le point de se terminer.
QAccessible::DragDropStart0x000EUne opération de glisser-déposer est sur le point d'être lancée.
QAccessible::Focus0x8005Un objet a obtenu le focus clavier.
QAccessible::ForegroundChanged0x0003Une fenêtre a été activée (c'est-à-dire qu'une nouvelle fenêtre a obtenu le focus sur le bureau).
QAccessible::HelpChanged0x80A0La propriété de texte « QAccessible::Help » d’un objet a changé.
QAccessible::HyperlinkEndIndexChanged0x0108La position de fin du texte d'affichage d'un lien hypertexte a changé.
QAccessible::HyperlinkNumberOfAnchorsChanged0x0109Le nombre d'ancres dans un lien hypertexte a changé, peut-être parce que le texte affiché a été divisé pour créer plusieurs liens.
QAccessible::HyperlinkSelectedLinkChanged0x010ALe lien associé au lien hypertexte sélectionné a changé.
QAccessible::HyperlinkStartIndexChanged0x010DLa position de début du texte affiché d’un lien hypertexte a changé.
QAccessible::HypertextChanged0x010ELe texte affiché d’un lien hypertexte a changé.
QAccessible::HypertextLinkActivated0x010BUn lien hypertexte a été activé, peut-être par un clic ou par une pression sur une touche.
QAccessible::HypertextLinkSelected0x010CUn lien hypertexte a été sélectionné.
QAccessible::HypertextNLinksChanged0x010F 
QAccessible::IdentifierChanged (since Qt 6.8)0x80E0L'identifiant d'un objet a changé.
QAccessible::LocationChanged0x800BL'emplacement d'un objet à l'écran a changé.
QAccessible::MenuCommand0x0018Un élément de menu a été déclenché.
QAccessible::MenuEnd0x0005Un menu a été fermé (Qt utilise PopupMenuEnd pour tous les menus).
QAccessible::MenuStart0x0004Un menu a été ouvert dans la barre de menus (Qt utilise PopupMenuStart pour tous les menus).
QAccessible::NameChanged0x800CLa propriété « QAccessible::Name » d'un objet a changé.
QAccessible::ObjectAttributeChanged0x0110 
QAccessible::ObjectCreated0x8000Un nouvel objet est créé.
QAccessible::ObjectDestroyed0x8001Un objet est supprimé.
QAccessible::ObjectHide0x8003Un objet est masqué ; par exemple, avec ` QWidget::hide()`. Les enfants de l'objet masqué n'envoient pas cet événement. Il n'est pas envoyé lorsqu'un objet est masqué parce qu'il est recouvert par d'autres.
QAccessible::ObjectReorder0x8004Une disposition ou une vue d'élément a ajouté, supprimé ou déplacé un objet (Qt n'utilise pas cet événement).
QAccessible::ObjectShow0x8002Un objet est affiché ; par exemple, avec ` QWidget::show()`.
QAccessible::PageChanged0x0111 
QAccessible::ParentChanged0x800FL'objet parent d'un objet a changé.
QAccessible::PopupMenuEnd0x0007Un menu contextuel s’est fermé.
QAccessible::PopupMenuStart0x0006Un menu contextuel s'est ouvert.
QAccessible::RoleChanged (since Qt 6.11)0x80E1Le rôle d’un objet a changé.
QAccessible::ScrollingEnd0x0013Une opération de défilement de la barre de défilement s'est terminée (la souris a relâché la poignée du curseur).
QAccessible::ScrollingStart0x0012Une opération de défilement de la barre de défilement est sur le point de commencer ; cela peut être provoqué, par exemple, par un clic de souris sur le curseur.
QAccessible::ScrollingPositionChanged (since Qt 6.12)0x0014La position a changé au cours d'une opération de défilement.
QAccessible::SectionChanged0x0112 
QAccessible::SelectionAdd0x8007Un élément a été ajouté à la sélection dans une vue d'éléments.
QAccessible::SelectionRemove0x8008Un élément a été supprimé de la sélection d'une vue d'éléments.
QAccessible::Selection0x8006La sélection a changé dans un menu ou une vue d'éléments.
QAccessible::SelectionWithin0x8009Plusieurs modifications ont été apportées à une sélection dans une vue d'éléments.
QAccessible::SoundPlayed0x0001Un son a été lu par un objet.
QAccessible::TableCaptionChanged0x0113La légende d’un tableau a été modifiée.
QAccessible::TableColumnDescriptionChanged0x0114La description d'une colonne de tableau, généralement indiquée dans l'en-tête de la colonne, a été modifiée.
QAccessible::TableColumnHeaderChanged0x0115L'en-tête d'une colonne du tableau a été modifié.
QAccessible::TableRowDescriptionChanged0x0117La description d’une ligne du tableau, qui figure généralement dans l’en-tête de la ligne, a été modifiée.
QAccessible::TableRowHeaderChanged0x0118L'en-tête d'une ligne de tableau a été modifié.
QAccessible::TableSummaryChanged0x0119Le résumé d'un tableau a été modifié.
QAccessible::TextColumnChanged0x011DUne colonne de texte a été modifiée.
QAccessible::VisibleDataChanged0x0122 

Les valeurs de cette énumération sont définies de manière à correspondre à celles définies dans les spécifications IAccessible2 et MSAA.

QAccessible::Id

Synonyme de « non signé », utilisé par le cache de l'QAccessibleInterface.

QAccessible::InterfaceFactory

Il s'agit d'un typedef pour un pointeur vers une fonction présentant la signature suivante :

typedef QAccessibleInterface *myFactoryFunction(const QString &key, QObject *);

La fonction reçoit un QString et un pointeur QObject, où l’ QString est la clé identifiant l’interface. L’ QObject est utilisé pour être transmis à l’ QAccessibleInterface afin que celle-ci puisse conserver une référence à celui-ci.

Si la clé et l’ QObject ne correspondent à aucun QAccessibleInterface, nullptr sera renvoyé.

Les fabriques installées sont appelées par `queryAccessibilityInterface()` jusqu’à ce que l’une d’entre elles fournisse une interface.

enum QAccessible::InterfaceType

QAccessibleInterface prend en charge plusieurs sous-interfaces. Afin de fournir davantage d'informations sur certains objets, leur représentation accessible doit implémenter une ou plusieurs de ces interfaces.

Remarque : lors de la création d'une sous-classe de l'une de ces interfaces, la méthode ` QAccessibleInterface::interface_cast()` doit être implémentée.

ConstanteValeurDescription
QAccessible::TextInterface0Pour le texte permettant des sélections ou comportant plusieurs lignes. Les étiquettes simples n’ont pas besoin d’implémenter cette interface.
QAccessible::ValueInterface2Pour les objets utilisés pour manipuler une valeur, par exemple un curseur ou une barre de défilement.
QAccessible::ActionInterface3Pour les objets interactifs qui permettent à l'utilisateur de déclencher une action. En gros, tout ce qui permet, par exemple, une interaction avec la souris.
QAccessible::TableInterface5Pour les listes, les tableaux et les arborescences.
QAccessible::TableCellInterface6Pour les cellules d’un objet TableInterface.
QAccessible::HyperlinkInterface7Pour les nœuds de lien hypertexte (généralement intégrés en tant qu’enfants de nœuds de texte)
QAccessible::SelectionInterface (since Qt 6.5)8Pour les objets non textuels qui prennent en charge la sélection d’objets enfants.
QAccessible::AttributesInterface (since Qt 6.8)9Pour les objets prenant en charge des attributs spécifiques à l'objet.
QAccessible::ViewportInterface (since Qt 6.12)10Pour les objets permettant un défilement bidimensionnel ou indexé.

Voir également QAccessibleInterface::interface_cast(), QAccessibleTextInterface, QAccessibleValueInterface, QAccessibleActionInterface, QAccessibleTableInterface, QAccessibleTableCellInterface, QAccessibleSelectionInterface, QAccessibleAttributesInterface et QAccessibleViewportInterface.

enum QAccessible::RelationFlag
flags QAccessible::Relation

Ce type d'énumération définit des indicateurs binaires qui peuvent être combinés pour indiquer la relation entre deux objets accessibles. Il est utilisé par la fonction relations(), qui renvoie une liste de toutes les interfaces associées à l'objet appelant, ainsi que les relations pour chaque objet.

Chaque entrée de la liste est un std::pair dont le membre second stocke le ou les types de relation entre l’objet returned représenté par le membre first et l’interface/l’objet origin (l’appelant).

Dans le tableau ci-dessous, l’objet returned fait référence à l’objet de la liste renvoyée, tandis que l’objet origin est celui représenté par l’interface appelante.

ConstanteValeurDescription
QAccessible::Label0x00000001L'objet « returned » correspond au libellé de l'objet « origin ».
QAccessible::Labelled0x00000002L’objet returned est étiqueté par l’objet origin.
QAccessible::Controller0x00000004L'objet « returned » contrôle l'objet « origin ».
QAccessible::Controlled0x00000008L’objet « returned » est contrôlé par l’objet « origin ».
QAccessible::DescriptionFor (since Qt 6.6)0x00000010L’objet « returned » fournit une description de l’objet « origin ».
QAccessible::Described (since Qt 6.6)0x00000020L’objet « returned » est décrit par l’objet « origin ».
QAccessible::FlowsFrom (since Qt 6.6)0x00000040Le contenu s’écoule logiquement de l’objet « returned » vers l’objet « origin ».
QAccessible::FlowsTo (since Qt 6.6)0x00000080Le contenu circule logiquement de l’objet « origin » vers l’objet « returned ».
QAccessible::AllRelations0xffffffffUtilisé comme masque pour indiquer que nous nous intéressons aux informations concernant toutes les relations

Les implémentations de relations() renvoient une combinaison de ces indicateurs. Certaines valeurs s’excluent mutuellement.

Le type `Relation` est un `typedef` pour `QFlags<RelationFlag>`. Il stocke une combinaison « OU » de valeurs `RelationFlag`.

enum QAccessible::Role

Cette énumération définit le rôle d'un objet accessible. Les rôles sont les suivants :

ConstanteValeurDescription
QAccessible::AlertMessage0x00000008Objet utilisé pour alerter l'utilisateur.
QAccessible::Animation0x00000036Un objet qui affiche une animation.
QAccessible::Application0x0000000EUn objet représentant l'application
QAccessible::Assistant0x00000020Un objet qui fournit une aide interactive.
QAccessible::BlockQuote (since Qt 6.9)0x431Une section de contenu tirée d'une autre source.
QAccessible::Border0x00000013Un objet représentant une bordure.
QAccessible::ButtonDropDown0x00000038Un bouton qui affiche une liste déroulante d'éléments.
QAccessible::ButtonDropGrid0x0000003AUn bouton qui affiche une grille.
QAccessible::ButtonMenu0x00000039Un bouton qui affiche un menu déroulant.
QAccessible::Canvas0x00000035Un objet affichant des graphiques avec lesquels l'utilisateur peut interagir.
QAccessible::Caret0x00000007Un objet représentant le curseur système (curseur de texte).
QAccessible::Cell0x0000001DUne cellule dans un tableau.
QAccessible::Chart0x00000011Un objet qui affiche une représentation graphique des données.
QAccessible::CheckBox0x0000002CUn objet représentant une option pouvant être cochée ou décochée. Certaines options peuvent présenter un état « intermédiaire », c'est-à-dire ni cochée ni décochée.
QAccessible::Client0x0000000ALa zone client d'une fenêtre.
QAccessible::Clock0x0000003DUne horloge affichant l'heure.
QAccessible::ColorChooser0x404Une boîte de dialogue permettant à l'utilisateur de choisir une couleur.
QAccessible::Column0x0000001BUne colonne de cellules, généralement dans un tableau.
QAccessible::ColumnHeader0x00000019Un en-tête pour une colonne de données.
QAccessible::ComboBox0x0000002EUne liste de choix parmi lesquels l'utilisateur peut effectuer une sélection.
QAccessible::ComplementaryContent0x42CUne partie du document ou de la page web qui complète le contenu principal, généralement un repère (voir WAI-ARIA).
QAccessible::Cursor0x00000006Un objet représentant le curseur de la souris.
QAccessible::Desktop0x00000082L'objet représente le bureau ou l'espace de travail.
QAccessible::Dial0x00000031Un objet représentant un cadran ou un bouton rotatif.
QAccessible::Dialog0x00000012Une boîte de dialogue.
QAccessible::Document0x0000000FUn document, par exemple dans une application bureautique.
QAccessible::EditableText0x0000002ADu texte modifiable, tel qu’une ligne ou un champ de saisie.
QAccessible::Equation0x00000037Un objet représentant une équation mathématique.
QAccessible::Footer0x40EUn pied de page (généralement dans les documents).
QAccessible::Form0x410Un formulaire Web contenant des contrôles.
QAccessible::Graphic0x00000028Un graphique ou une image, par exemple une icône.
QAccessible::Grip0x00000004Une poignée que l'utilisateur peut faire glisser pour modifier la taille des widgets.
QAccessible::Grouping0x00000014Un objet représentant un regroupement logique d'autres objets.
QAccessible::Heading0x414Un titre dans un document.
QAccessible::HelpBalloon0x0000001FUn objet qui affiche une aide dans une fenêtre distincte et éphémère.
QAccessible::HotkeyField0x00000032Un champ de raccourci clavier permettant à l'utilisateur de saisir une séquence de touches.
QAccessible::Indicator0x00000027Un indicateur représentant une valeur ou un élément actuel.
QAccessible::LayeredPane0x00000080Un objet pouvant contenir des enfants imbriqués, par exemple dans une pile.
QAccessible::Link0x0000001EUn lien vers un autre élément.
QAccessible::List0x00000021Une liste d'éléments, parmi lesquels l'utilisateur peut en sélectionner un ou plusieurs.
QAccessible::ListItem0x00000022Un élément d’une liste d’éléments.
QAccessible::MenuBar0x00000002Une barre de menus à partir de laquelle l'utilisateur peut ouvrir des menus.
QAccessible::MenuItem0x0000000CUn élément d'un menu ou d'une barre de menus.
QAccessible::NoRole0x00000000L'objet n'a aucun rôle. Cela indique généralement un objet non valide.
QAccessible::Note0x41BUne section dont le contenu est accessoire ou complémentaire au contenu principal de la ressource.
QAccessible::Notification0x00000086Un objet représentant une notification (par exemple, dans la barre d'état système). Ce rôle n'a d'effet que sous Linux.
QAccessible::PageTab0x00000025Un onglet de page que l'utilisateur peut sélectionner pour passer à une autre page dans une boîte de dialogue.
QAccessible::PageTabList0x0000003CUne liste d'onglets de page.
QAccessible::Paragraph0x00000083Un paragraphe de texte (que l'on trouve généralement dans les documents).
QAccessible::Pane0x00000010Un conteneur générique.
QAccessible::PopupMenu0x0000000BUn menu répertoriant les options que l’utilisateur peut sélectionner pour effectuer une action.
QAccessible::ProgressBar0x00000030L'objet affiche la progression d'une opération en cours.
QAccessible::PropertyPage0x00000026Une page de propriétés où l'utilisateur peut modifier les options et les paramètres.
QAccessible::Button0x0000002BUn bouton.
QAccessible::RadioButton0x0000002DUn objet représentant une option qui s'exclut mutuellement avec d'autres options.
QAccessible::Row0x0000001CUne ligne de cellules, généralement dans un tableau.
QAccessible::RowHeader0x0000001AUn en-tête pour une ligne de données.
QAccessible::ScrollBar0x00000003Une barre de défilement, qui permet à l'utilisateur de faire défiler la zone visible.
QAccessible::Section0x00000085Une section (dans un document).
QAccessible::Separator0x00000015Un séparateur qui divise l'espace en zones logiques.
QAccessible::Slider0x00000033Un curseur permettant à l'utilisateur de sélectionner une valeur dans une plage donnée.
QAccessible::Sound0x00000005Un objet représentant un son.
QAccessible::SpinBox0x00000034Un widget « spin box » permettant à l'utilisateur de saisir une valeur dans une plage donnée.
QAccessible::Splitter0x0000003EUn séparateur répartissant l'espace disponible entre ses widgets enfants.
QAccessible::StaticText0x00000029Du texte statique, tel que des libellés pour d'autres widgets.
QAccessible::StatusBar0x00000017Une barre d'état.
QAccessible::Switch (since Qt 6.11)0x00000087Un commutateur pouvant être activé ou désactivé.
QAccessible::Table0x00000018Un tableau représentant des données sous forme de grille de lignes et de colonnes.
QAccessible::Terminal0x00000081Un terminal ou une interface en ligne de commande.
QAccessible::TitleBar0x00000001Le libellé de la barre de titre d'une fenêtre.
QAccessible::ToolBar0x00000016Une barre d'outils, qui regroupe les widgets auxquels l'utilisateur accède fréquemment.
QAccessible::ToolTip0x0000000DUne info-bulle fournissant des informations sur d'autres objets.
QAccessible::Tree0x00000023Une liste d'éléments dans une arborescence.
QAccessible::TreeItem0x00000024Un élément d'une arborescence.
QAccessible::UserRole0x0000ffffLa première valeur à utiliser pour les rôles définis par l'utilisateur.
QAccessible::WebDocument0x00000084Document HTML, généralement dans un navigateur.
QAccessible::Whitespace0x0000003BEspace vide entre d’autres objets.
QAccessible::Window0x00000009Une fenêtre de niveau supérieur.

enum QAccessible::Text

Cette énumération spécifie les informations sous forme de chaîne de caractères renvoyées par un objet accessible.

ConstanteValeurDescription
QAccessible::Name0Le nom de l’objet. Il peut être utilisé à la fois comme identifiant et comme brève description par les clients accessibles.
QAccessible::Description1Un texte court décrivant l’objet.
QAccessible::Value2La valeur de l'objet.
QAccessible::Help3Un texte plus long fournissant des informations sur l'utilisation de l'objet.
QAccessible::Accelerator4Le raccourci clavier qui exécute l'action par défaut de l'objet.
QAccessible::UserText0x0000ffffLa première valeur à utiliser pour le texte défini par l'utilisateur.
QAccessible::Identifier (since Qt 6.8)6Un identifiant pour l'objet, par exemple pour les tests d'interface utilisateur.

enum QAccessible::TextBoundaryType

Cette énumération décrit différents types de limites de texte. Elle respecte l'API IAccessible2 et est utilisée dans l'QAccessibleTextInterface.

ConstanteValeurDescription
QAccessible::CharBoundary0Utilise des caractères individuels comme limites.
QAccessible::WordBoundary1Utilise les mots comme limites.
QAccessible::SentenceBoundary2Utiliser des phrases comme délimiteurs.
QAccessible::ParagraphBoundary3Utiliser les paragraphes comme délimiteurs.
QAccessible::LineBoundary4Utiliser les sauts de ligne comme délimiteurs.
QAccessible::NoBoundary5Pas de délimitation (utiliser l'intégralité du texte).

Voir aussi QAccessibleTextInterface.

Documentation des fonctions membres

[static] QAccessibleInterface *QAccessible::accessibleInterface(QAccessible::Id id)

Renvoie l'QAccessibleInterface associé à l'id.

Renvoie « nullptr » si l'identifiant n'est pas valide.

[static] void QAccessible::deleteAccessibleInterface(QAccessible::Id id)

Supprime de la mémoire cache l'interface associée à cette id et la supprime. L'identifiant devient invalide et peut être réutilisé par la mémoire cache.

[static] void QAccessible::installFactory(QAccessible::InterfaceFactory factory)

Installe l'InterfaceFactory factory . La dernière factory ajoutée est la première utilisée par queryAccessibleInterface().

[static] bool QAccessible::isActive()

Renvoie ` true ` si la plateforme a demandé des informations d'accessibilité.

Cette fonction renverra « false » jusqu’à ce qu’un outil, tel qu’un lecteur d’écran, accède au framework d’accessibilité. Il est toujours possible d’utiliser ` QAccessible::queryAccessibleInterface()` même si l’accessibilité n’est pas active. Cependant, aucune notification ne sera envoyée à la plateforme.

Il est recommandé d’utiliser cette fonction pour éviter les notifications coûteuses via ` updateAccessibility()` lorsqu’elles ne sont pas nécessaires.

[static] QAccessibleInterface *QAccessible::queryAccessibleInterface(QObject *object)

Si une implémentation de ` QAccessibleInterface ` existe pour l'object` donné, cette fonction renvoie un pointeur vers cette implémentation ; sinon, elle renvoie ` nullptr`.

La fonction appelle toutes les fonctions d’usine installées (de la plus récente à la plus ancienne) jusqu’à ce qu’elle en trouve une qui fournisse une interface pour la classe object. Si aucune fonction d’usine ne peut fournir d’implémentation d’accessibilité pour la classe, la fonction charge les plugins d’accessibilité installés et vérifie si l’un d’entre eux peut fournir l’implémentation.

Si aucune implémentation n’est disponible pour la classe de l’objet, la fonction tente de trouver une implémentation pour la classe parente de l’objet, en utilisant la stratégie décrite ci-dessus.

Toutes les interfaces sont gérées par un cache interne et ne doivent pas être supprimées.

[static] QAccessible::Id QAccessible::registerAccessibleInterface(QAccessibleInterface *iface)

Appelez cette fonction pour vous assurer que les interfaces créées manuellement sont correctement gérées en mémoire.

Elle ne doit être appelée qu'une seule fois par interface iface. Elle est appelée implicitement lors de l'appel à queryAccessibleInterface; son appel n'est nécessaire que lorsque les QAccessibleInterfaces sont instanciées à l'aide de l'opérateur « new ». Cette pratique n'est pas recommandée ; dans la mesure du possible, utilisez les fonctions par défaut et laissez queryAccessibleInterface() s'en charger.

Lorsqu’il est nécessaire de réimplémenter la fonction QAccessibleInterface::child() et de renvoyer l’élément enfant après sa construction, cette fonction doit être appelée.

[static] void QAccessible::removeFactory(QAccessible::InterfaceFactory factory)

Supprime « factory » de la liste des InterfaceFactories installées.

[static] void QAccessible::setRootObject(QObject *object)

Définit l'objet racine des objets accessibles de cette application sur object. Tous les autres objets accessibles sont accessibles via la navigation entre objets à partir de l'objet racine.

En règle générale, il n’est pas nécessaire d’appeler cette fonction, car Qt définit l’objet QApplication comme objet racine juste avant l’entrée dans la boucle d’événements dans QApplication::exec().

Utilisez QAccessible::installRootObjectHandler() pour rediriger l’appel de fonction vers une fonction de gestion personnalisée.

Voir également ` queryAccessibleInterface()`.

[static] QAccessible::Id QAccessible::uniqueId(QAccessibleInterface *iface)

Renvoie l'identifiant unique de l'QAccessibleInterface iface .

[static] void QAccessible::updateAccessibility(QAccessibleEvent *event)

Signale une modification susceptible d'intéresser les utilisateurs de solutions d'accessibilité.

event Fournit des détails sur la modification. Ceux-ci incluent la source et la nature de la modification. L'event doit contenir suffisamment d'informations pour permettre des notifications pertinentes.

Par exemple, le type « ValueChange » indique que la position d’un curseur a été modifiée.

Appelez cette fonction chaque fois que l'état de votre objet accessible ou de l'un de ses sous-éléments a été modifié, que ce soit par programmation (par exemple en appelant ` QLabel::setText()`) ou par une interaction de l'utilisateur.

S’il n’y a aucun outil d’accessibilité à l’écoute de cet événement, la perte de performances liée à l’appel de cette fonction est minime ; toutefois, si la détermination des paramètres de l’appel est coûteuse, vous pouvez tester QAccessible::isActive() afin d’éviter tout calcul inutile.

© 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.