Sur cette page

QAccessible Class

La classe QAccessible fournit des énums et des fonctions statiques relatives à l'accessibilité. Plus d'informations...

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, …, AttributesInterface }
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é des applications QWidget.

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

Les fonctions de cette classe sont utilisées pour 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 par le biais d'appels à la fonction updateAccessibility().
  • Les clients AT demandent des informations sur les objets du serveur. La classe QAccessibleInterface est l'interface principale et encapsule ces informations dans une API virtuelle pure. Les implémentations de l'interface sont fournies par Qt XML à travers l'API queryAccessibleInterface().

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

Qt prend en charge l'accessibilité active de Microsoft (MSAA), l'accessibilité de 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 Unix/X11 AT-SPI, les applications deviennent accessibles lorsque deux conditions sont remplies :

  • la propriété DBus org.a11y.Status.IsEnabled est vraie
  • la propriété DBus org.a11y.Status.ScreenReaderEnabled est vraie.

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

En plus des fonctions statiques de QAccessible, Qt Widgets offre une interface générique, QAccessibleInterface, qui peut être utilisée pour envelopper tous les widgets et objets (par exemple, QPushButton). Cette interface unique fournit toutes les métadonnées nécessaires aux technologies d'assistance. Qt Widgets fournit des implémentations de cette interface pour ses widgets intégrés en tant que plugins.

Lorsque vous développez des widgets personnalisés, vous pouvez créer des sous-classes personnalisées de QAccessibleInterface et les distribuer en tant que plugins (à l'aide de QAccessiblePlugin) ou les compiler dans l'application. De même, le support d'accessibilité prédéfini de Qt peut être construit 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 effectivement utilisées ; elles ne ralentissent pas le cas courant où aucune technologie d'assistance n'est utilisée.

Qt Help comprend également deux classes de commodité, QAccessibleObject et QAccessibleWidget, qui héritent de QAccessibleInterface et fournissent le plus petit dénominateur commun de métadonnées (par exemple, la géométrie du widget, le titre de la fenêtre, le texte d'aide de base). Vous pouvez les utiliser comme classes de base pour envelopper 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 QAccessibleAnnouncementEvent.

Avec QAccessible::AnouncementPoliteness::Polite, les technologies d'assistance doivent annoncer le message à la prochaine occasion favorable, par exemple à la fin de l'énoncé de la phrase en cours ou lorsque l'utilisateur interrompt sa frappe.

Lorsqu'elles spécifient QAccessible::AnouncementPoliteness::Assertive, les technologies d'assistance doivent avertir l'utilisateur immédiatement.

Étant donné qu'une interruption peut désorienter l'utilisateur ou l'empêcher d'achever sa tâche, 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 liste a été introduite dans Qt 6.8.

Voir également QAccessibleAnnouncementEvent.

[since 6.8] enum class QAccessible::Attribute

Cette énumération décrit différents types d'attributs utilisés par QAccessibleAttributesInterface.

Ces attributs sont comparables au concept de propriétés/attributs (d'objets) que l'on trouve dans ARIA, AT-SPI2, IAccessible, UIA et NSAccessibility et sont mis en correspondance avec leur équivalent sur la plate-forme, le cas échéant.

Chaque attribut est traité comme une paire clé-valeur, les valeurs de cette énumération étant utilisées comme 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 de la valeur
QAccessible::Attribute::Custom0type de valeur : QHash<QString, QString> L'attribut Custom est spécial en ce sens qu'il peut effectivement représenter plusieurs attributs à la fois, puisqu'il est lui-même un QHash utilisé pour représenter des paires clé-valeur. Pour les plates-formes prenant en charge des paires clé-valeur personnalisées pour les attributs, celles définies dans l'attribut Custom sont transmises à la couche plate-forme sans appliquer de traduction aux attributs spécifiques à la plate-forme. En général, il convient d'utiliser les autres attributs, plus fortement typés. Cet attribut peut par exemple être utilisé pour le prototypage avant d'ajouter officiellement une nouvelle valeur d'énumération pour une caractéristique 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'en-tête d'une rubrique. Cet attribut correspond conceptuellement à la propriété "aria-level" dans ARIA.
QAccessible::Attribute::Locale (since Qt 6.10)2value type : QLocale Locale de l'élément. Cet attribut peut être utilisé pour spécifier qu'un élément a une locale différente de la locale par défaut de l'application, par exemple pour les documents ou les paragraphes d'un document qui utilisent une langue différente de la langue 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" dans ARIA.

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

Voir aussi QAccessibleAttributesInterface.

enum QAccessible::Event

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

ConstanteValeurDescription de l'événement
QAccessible::AcceleratorChanged0x80C0L'accélérateur de clavier d'une action a été modifié.
QAccessible::ActionChanged0x0101Une action a été modifiée.
QAccessible::ActiveDescendantChanged0x0102
QAccessible::Alert0x0002Alerte système (par exemple, un message provenant d'un site QMessageBox)
QAccessible::Announcement (since Qt 6.8)0x80D0L'annonce d'un message est demandée.
QAccessible::AttributeChanged0x0103
QAccessible::ContextHelpEnd0x000DL'aide contextuelle (QWhatsThis) pour un objet est terminée.
QAccessible::ContextHelpStart0x000CL'aide contextuelle (QWhatsThis) pour un objet est lancée.
QAccessible::DefaultActionChanged0x80B0La QAccessible::Action par défaut de l'objet accessible a changé.
QAccessible::DescriptionChanged0x800DL'adresse 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::DocumentReload0x0107Un rechargement de document a été initié.
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 la focalisation du clavier.
QAccessible::ForegroundChanged0x0003Une fenêtre a été activée (c'est-à-dire qu'une nouvelle fenêtre a été mise en évidence sur le bureau).
QAccessible::HelpChanged0x80A0La propriété de texte QAccessible::Help d'un objet a été modifiée.
QAccessible::HyperlinkEndIndexChanged0x0108La position finale du texte affiché pour un lien hypertexte a changé.
QAccessible::HyperlinkNumberOfAnchorsChanged0x0109Le nombre d'ancres d'un lien hypertexte a changé, peut-être parce que le texte affiché a été divisé pour fournir plus d'un lien.
QAccessible::HyperlinkSelectedLinkChanged0x010ALe lien du lien hypertexte sélectionné a changé.
QAccessible::HyperlinkStartIndexChanged0x010DLa position de départ du texte affiché d'un lien hypertexte a changé.
QAccessible::HypertextChanged0x010ELe texte d'affichage d'un lien hypertexte a changé.
QAccessible::HypertextLinkActivated0x010BUn lien hypertexte a été activé, par exemple par un clic ou 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 sur l'écran a changé.
QAccessible::MenuCommand0x0018Un élément de menu est 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 été modifiée.
QAccessible::ObjectAttributeChanged0x0110
QAccessible::ObjectCreated0x8000Un nouvel objet est créé.
QAccessible::ObjectDestroyed0x8001Un objet est supprimé.
QAccessible::ObjectHide0x8003Un objet est caché, par exemple avec QWidget::hide(). Cet événement n'est pas envoyé aux enfants de l'objet caché. Il n'est pas envoyé lorsqu'un objet est caché parce qu'il est masqué par d'autres.
QAccessible::ObjectReorder0x8004Une vue de disposition ou 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 l'ascenseur est terminée (la souris a relâché la poignée du curseur).
QAccessible::ScrollingStart0x0012Une opération de défilement est sur le point de commencer ; elle peut être provoquée par une pression de la souris sur la poignée du curseur, par exemple.
QAccessible::SectionChanged0x0112
QAccessible::SelectionAdd0x8007Un élément a été ajouté à la sélection dans une vue d'élément.
QAccessible::SelectionRemove0x8008Un élément a été supprimé de la sélection d'une vue d'élément.
QAccessible::Selection0x8006La sélection a changé dans une vue de menu ou d'élément.
QAccessible::SelectionWithin0x8009Plusieurs modifications ont été apportées à une sélection dans une vue d'élément.
QAccessible::SoundPlayed0x0001Un son a été joué par un objet
QAccessible::TableCaptionChanged0x0113La légende d'un tableau a été modifiée.
QAccessible::TableColumnDescriptionChanged0x0114La description d'une colonne de tableau, qui se trouve généralement dans l'en-tête de la colonne, a été modifiée.
QAccessible::TableColumnHeaderChanged0x0115L'en-tête d'une colonne de tableau a été modifié.
QAccessible::TableRowDescriptionChanged0x0117La description d'une ligne de tableau, qui se trouve 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 comme étant les mêmes que celles définies dans les spécifications IAccessible2 et MSAA.

QAccessible::Id

Synonyme de unsigned, utilisé par le cache QAccessibleInterface.

QAccessible::InterfaceFactory

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

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

La fonction reçoit un pointeur QString et un pointeur QObject, où QString est la clé identifiant l'interface. L'adresse QObject est utilisée pour passer à l'adresse QAccessibleInterface afin qu'elle puisse contenir une référence à celle-ci.

Si la clé et le QObject n'ont pas de QAccessibleInterface correspondant, nullptr sera renvoyé.

Les usines installées sont appelées par queryAccessibilityInterface() jusqu'à ce qu'une interface soit fournie.

enum QAccessible::InterfaceType

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

Remarque : lors de la sous-classification de l'une de ces interfaces, QAccessibleInterface::interface_cast() doit être implémenté.

ConstanteValeurDescription
QAccessible::TextInterface0Pour le texte qui prend en charge les sélections ou qui comporte plus d'une ligne. 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 arbres.
QAccessible::TableCellInterface6Pour les cellules d'un objet TableInterface.
QAccessible::HyperlinkInterface7Pour les nœuds d'hyperliens (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 permettent la sélection d'objets enfants.
QAccessible::AttributesInterface (since Qt 6.8)9pour les objets qui prennent en charge des attributs spécifiques à l'objet.

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

enum QAccessible::RelationFlag
flags QAccessible::Relation

Ce type d'enum définit des drapeaux de bits 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 connexes de l'objet appelant, ainsi que les relations pour chaque objet.

Chaque entrée de la liste est une std::paire où le membre second stocke le(s) type(s) de relation entre l'objet returned représenté par le membre first et l'interface/objet origin (l'appelant).

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

ConstanteValeurDescription de l'objet
QAccessible::Label0x00000001L'objet returned est l'étiquette 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 à 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 s'écoule logiquement de l'objet origin vers l'objet returned.
QAccessible::AllRelations0xffffffffUtilisé comme masque pour spécifier que nous sommes intéressés par des informations sur 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 de l'objet
QAccessible::AlertMessage0x00000008Objet utilisé pour alerter l'utilisateur.
QAccessible::Animation0x00000036Un objet qui affiche une animation.
QAccessible::Application0x0000000ELa fenêtre principale de l'application.
QAccessible::Assistant0x00000020Un objet qui fournit une aide interactive.
QAccessible::BlockQuote (since Qt 6.9)0x431Une section de contenu citée d'une autre source.
QAccessible::Border0x00000013Un objet qui représente une bordure.
QAccessible::ButtonDropDown0x00000038Un bouton qui fait descendre une liste d'éléments.
QAccessible::ButtonDropGrid0x0000003AUn bouton qui fait descendre une grille.
QAccessible::ButtonMenu0x00000039Un bouton qui fait descendre un menu.
QAccessible::Canvas0x00000035Un objet qui affiche des graphiques avec lesquels l'utilisateur peut interagir.
QAccessible::Caret0x00000007Un objet qui représente le caret du 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 qui représente une option qui peut être cochée ou décochée. Certaines options ont un état "mixte", c'est-à-dire qu'elles ne sont ni cochées ni décochées.
QAccessible::Client0x0000000AL'espace client d'une fenêtre.
QAccessible::Clock0x0000003DUne horloge affichant l'heure.
QAccessible::ColorChooser0x404Une boîte de dialogue qui permet à l'utilisateur de choisir une couleur.
QAccessible::Column0x0000001BUne colonne de cellules, généralement dans un tableau.
QAccessible::ColumnHeader0x00000019En-tête d'une colonne de données.
QAccessible::ComboBox0x0000002EUne liste de choix que l'utilisateur peut sélectionner.
QAccessible::ComplementaryContent0x42CUne partie du document ou de la page web qui est complémentaire au contenu principal, généralement un point de repère (voir WAI-ARIA).
QAccessible::Cursor0x00000006Objet représentant le curseur de la souris.
QAccessible::Desktop0x00000082L'objet représente le bureau ou l'espace de travail.
QAccessible::Dial0x00000031Objet représentant un cadran ou un bouton.
QAccessible::Dialog0x00000012Une boîte de dialogue.
QAccessible::Document0x0000000FUn document, par exemple dans une application bureautique.
QAccessible::EditableText0x0000002AUn texte modifiable tel qu'une ligne ou une édition de texte.
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 qui représente un regroupement logique d'autres objets.
QAccessible::Heading0x414Un titre dans un document.
QAccessible::HelpBalloon0x0000001FUn objet qui affiche de l'aide dans une fenêtre séparée de courte durée.
QAccessible::HotkeyField0x00000032Un champ de raccourci clavier qui permet à l'utilisateur d'entrer une séquence de touches.
QAccessible::Indicator0x00000027Un indicateur qui représente une valeur ou un élément courant.
QAccessible::LayeredPane0x00000080Un objet qui peut contenir des enfants en couches, par exemple dans une pile.
QAccessible::Link0x0000001EUn lien vers quelque chose d'autre.
QAccessible::List0x00000021Une liste d'éléments dans laquelle l'utilisateur peut sélectionner un ou plusieurs éléments.
QAccessible::ListItem0x00000022Un élément dans une liste d'éléments.
QAccessible::MenuBar0x00000002Une barre de menu à partir de laquelle l'utilisateur ouvre des menus.
QAccessible::MenuItem0x0000000CUn élément d'un menu ou d'une barre de menu.
QAccessible::NoRole0x00000000L'objet n'a pas de rôle. Cela indique généralement que l'objet n'est pas valide.
QAccessible::Note0x41BUne section dont le contenu est parenthétique ou auxiliaire par rapport au contenu principal de la ressource.
QAccessible::Notification0x00000086Un objet qui représente 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 page différente 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 qui énumère 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é où l'utilisateur peut modifier des options et des paramètres.
QAccessible::Button0x0000002BUn bouton.
QAccessible::RadioButton0x0000002DUn objet qui représente une option qui s'exclut mutuellement avec d'autres options.
QAccessible::Row0x0000001CUne rangée 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 qui permet à l'utilisateur de sélectionner une valeur dans une plage donnée.
QAccessible::Sound0x00000005Un objet qui représente un son.
QAccessible::SpinBox0x00000034Un widget de type "spin box" qui permet à l'utilisateur de saisir une valeur dans une fourchette donnée.
QAccessible::Splitter0x0000003EUn séparateur répartissant l'espace disponible entre ses widgets enfants.
QAccessible::StaticText0x00000029Un texte statique, tel que des étiquettes pour d'autres widgets.
QAccessible::StatusBar0x00000017Une barre d'état.
QAccessible::Switch (since Qt 6.11)0x00000087Un interrupteur qui peut être activé ou désactivé.
QAccessible::Table0x00000018Un tableau représentant des données dans une grille de lignes et de colonnes.
QAccessible::Terminal0x00000081Un terminal ou une interface de ligne de commande.
QAccessible::TitleBar0x00000001La légende 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 qui fournit des informations sur d'autres objets.
QAccessible::Tree0x00000023Une liste d'éléments dans une structure arborescente.
QAccessible::TreeItem0x00000024Un élément d'une structure arborescente.
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 premier niveau.

enum QAccessible::Text

Cette énumération spécifie les informations de type chaîne de caractères qu'un objet accessible renvoie.

ConstanteValeurDescription de l'objet
QAccessible::Name0Le nom de l'objet. Il peut être utilisé comme identifiant ou comme description succincte par les clients accessibles.
QAccessible::Description1Un texte court décrivant l'objet.
QAccessible::Value2La valeur de l'objet.
QAccessible::Help3Un texte plus long donnant des informations sur la manière d'utiliser 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 est conforme à l'API IAccessible2 et est utilisée dans le site QAccessibleTextInterface.

ConstanteValeurDescription
QAccessible::CharBoundary0Utilise des caractères individuels comme limites.
QAccessible::WordBoundary1Utiliser les mots comme limites.
QAccessible::SentenceBoundary2Utiliser les phrases comme limites.
QAccessible::ParagraphBoundary3Utiliser les paragraphes comme limite.
QAccessible::LineBoundary4Utiliser les nouvelles lignes comme limite.
QAccessible::NoBoundary5Pas de limite (utiliser tout le texte).

Voir également QAccessibleTextInterface.

Documentation des fonctions membres

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

Renvoie le site QAccessibleInterface appartenant au site id.

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

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

Retire du cache l'interface appartenant à ce site id et la supprime. L'identifiant devient invalide et peut être réutilisé par le cache.

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

Installe le site InterfaceFactory factory . La dernière usine ajoutée est la première utilisée par queryAccessibleInterface().

[static] bool QAccessible::isActive()

Renvoie true si la plate-forme a demandé des informations sur l'accessibilité.

Cette fonction renvoie un message faux si un outil tel qu'un lecteur d'écran a accédé au cadre d'accessibilité. Il est toujours possible d'utiliser QAccessible::queryAccessibleInterface() même si l'accessibilité n'est pas active. Mais aucune notification ne sera envoyée à la plate-forme.

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)

S'il existe une implémentation de QAccessibleInterface pour la classe donnée object, cette fonction renvoie un pointeur sur l'implémentation ; sinon, elle renvoie nullptr.

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

Si aucune implémentation pour la classe de l'objet n'est disponible, la fonction tente de trouver une implémentation pour la classe parente de l'objet, en utilisant la stratégie 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)

Appeler cette fonction pour s'assurer que les interfaces créées manuellement sont correctement gérées en mémoire.

Ne doit être appelée qu'une seule fois par interface iface. Cette fonction est implicitement appelée lors de l'appel de queryAccessibleInterface, l'appel de cette fonction n'est nécessaire que lorsque les QAccessibleInterfaces sont instanciées à l'aide de l'opérateur "new". Ceci n'est pas recommandé, il est préférable d'utiliser les fonctions par défaut et de laisser queryAccessibleInterface() s'en charger.

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

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

Supprime factory de la liste des fabricants d'interfaces installés.

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

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

Normalement, il n'est pas nécessaire d'appeler cette fonction, car Qt XML définit l'objet QApplication comme objet racine immédiatement avant l'entrée dans la boucle d'événements dans QApplication::exec().

Utilisez QAccessible::installRootObjectHandler() pour rediriger l'appel de la fonction vers une fonction de traitement personnalisée.

Voir aussi queryAccessibleInterface().

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

Renvoie l'identifiant unique du site QAccessibleInterface iface .

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

Notifie un changement susceptible d'intéresser les clients en matière d'accessibilité.

event fournit des détails sur la modification. Il s'agit notamment de la source et de la nature de la modification. Le type event doit contenir suffisamment d'informations pour donner des notifications significatives.

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é, soit par programmation (par exemple en appelant QLabel::setText()), soit par l'interaction de l'utilisateur.

Si aucun outil d'accessibilité n'écoute cet événement, l'appel de cette fonction est peu pénalisant en termes de performances, mais si la détermination des paramètres de l'appel est coûteuse, vous pouvez tester QAccessible::isActive() pour éviter les calculs inutiles.

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