Auf dieser Seite

QAccessible Class

Die Klasse „QAccessible“ stellt Aufzählungen und statische Funktionen im Zusammenhang mit der Barrierefreiheit bereit. Mehr...

Header: #include <QAccessible>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui

Öffentliche Typen

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 }

Statische öffentliche Mitglieder

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)

Ausführliche Beschreibung

Diese Klasse ist Teil der Barrierefreiheit für QWidget-Anwendungen.

Barrierefreie Anwendungen können von Menschen genutzt werden, die Anwendungen nicht auf herkömmliche Weise bedienen können.

Die Funktionen dieser Klasse dienen der Kommunikation zwischen barrierefreien Anwendungen (auch als AT-Server bezeichnet) und Barrierefreiheits-Tools (AT-Clients) wie Bildschirmleseprogrammen und Braillezeilen. Clients und Server kommunizieren auf folgende Weise:

  • AT-Server benachrichtigen die Clients über Ereignisse durch Aufrufe der Funktion ` updateAccessibility()`.
  • AT-Clients fordern Informationen über die Objekte auf dem Server an. Die Klasse „ QAccessibleInterface “ bildet die Kernschnittstelle und kapseln diese Informationen in einer rein virtuellen API. Implementierungen der Schnittstelle werden von Qt über die API „ queryAccessibleInterface()“ bereitgestellt.

Die Kommunikation zwischen Servern und Clients wird durch die Funktion ` setRootObject()` initialisiert. Es können Funktionszeiger eingerichtet werden, um das Standardverhalten der statischen Funktionen in `QAccessible` zu ersetzen oder zu erweitern.

Qt unterstützt Microsoft Active Accessibility (MSAA), macOS Accessibility und den Unix/X11-AT-SPI-Standard. Andere Backends können mithilfe von QAccessibleBridge unterstützt werden.

In der Unix/X11-AT-SPI-Implementierung werden Anwendungen barrierefrei, wenn zwei Bedingungen erfüllt sind:

  • Die DBus-Eigenschaft `org.a11y.Status.IsEnabled` ist wahr
  • Die DBus-Eigenschaft „org.a11y.Status.ScreenReaderEnabled“ ist „true“

Eine Alternative zum Setzen der DBus-AT-SPI-Eigenschaften ist das Setzen der Umgebungsvariable `QT_LINUX_ACCESSIBILITY_ALWAYS_ON`.

Zusätzlich zu den statischen Funktionen von `QAccessible` bietet Qt eine generische Schnittstelle, ` QAccessibleInterface`, die zum Umschließen aller Widgets und Objekte (z. B. ` QPushButton`) verwendet werden kann. Diese einzige Schnittstelle stellt alle für die assistiven Technologien erforderlichen Metadaten bereit. Qt stellt Implementierungen dieser Schnittstelle für seine integrierten Widgets als Plugins bereit.

Wenn Sie benutzerdefinierte Widgets entwickeln, können Sie eigene Unterklassen von ` QAccessibleInterface ` erstellen und diese als Plugins (unter Verwendung von ` QAccessiblePlugin`) vertreiben oder in die Anwendung einbinden. Ebenso kann die vordefinierte Barrierefreiheitsunterstützung von Qt als Plugin (Standard) oder direkt in die Qt-Bibliothek eingebunden werden. Der Hauptvorteil der Verwendung von Plugins besteht darin, dass die Barrierefreiheitsklassen nur dann in den Arbeitsspeicher geladen werden, wenn sie tatsächlich verwendet werden; sie verlangsamen nicht den Normalfall, in dem keine assistive Technologie zum Einsatz kommt.

Qt enthält außerdem zwei Hilfsklassen, „ QAccessibleObject “ und „ QAccessibleWidget “, die von „ QAccessibleInterface “ erben und den kleinsten gemeinsamen Nenner an Metadaten bereitstellen (z. B. Widget-Geometrie, Fenstertitel, grundlegender Hilfetext). Sie können diese als Basisklassen verwenden, wenn Sie Ihre benutzerdefinierten Unterklassen von „ QObject “ oder „ QWidget “ umschließen.

Siehe auch QAccessibleInterface.

Dokumentation zu Mitgliedstypen

[since 6.8] enum class QAccessible::AnnouncementPoliteness

Diese Enumeration beschreibt die Priorität für Ansagen, die von der „ QAccessibleAnnouncementEvent “ verwendet werden.

Bei „ QAccessible::AnouncementPoliteness::Polite “ sollten assistive Technologien die Meldung bei der nächsten geeigneten Gelegenheit ansagen, beispielsweise am Ende des aktuellen Satzes oder wenn der Benutzer eine Pause beim Tippen einlegt. Eine höfliche Ansage kann dennoch eine bereits laufende höfliche Ansage unterbrechen.

Bei Angabe von „ QAccessible::AnouncementPoliteness::Assertive “ sollten assistive Technologien den Benutzer sofort benachrichtigen.

Da eine Unterbrechung Benutzer verwirren oder dazu führen kann, dass sie ihre aktuelle Aufgabe nicht abschließen, sollte „ QAccessible::AnouncementPoliteness::Assertive “ nur verwendet werden, wenn die Unterbrechung unbedingt erforderlich ist.

KonstantWertBeschreibung
QAccessible::AnnouncementPoliteness::Polite0Die Ansage hat normale Priorität.
QAccessible::AnnouncementPoliteness::Assertive1Die Benachrichtigung hat hohe Priorität und sollte den Benutzer sofort benachrichtigen, auch wenn dies bedeutet, dass die aktuelle Aufgabe des Benutzers unterbrochen wird.

Diese Enumeration wurde in Qt 6.8 eingeführt.

Siehe auch „ QAccessibleAnnouncementEvent “.

[since 6.8] enum class QAccessible::Attribute

Diese Enumeration beschreibt verschiedene Arten von Attributen, die von der Schnittstelle „ QAccessibleAttributesInterface “ verwendet werden.

Diese Attribute sind vergleichbar mit dem Konzept der Eigenschaften/(Objekt-)Attribute, wie es in ARIA, AT-SPI2, IAccessible, UIA und NSAccessibility zu finden ist, und werden, soweit zutreffend, ihren entsprechenden Plattformattributen zugeordnet.

Jedes Attribut wird als Schlüssel-Wert-Paar behandelt, wobei die Werte dieser Aufzählung als Schlüssel verwendet werden.

Attributwerte werden in einem „ QVariant “ dargestellt. Der Typ des in der „ QVariant “ gespeicherten Werts ist fest vorgegeben und wird im Folgenden für jeden Attributtyp angegeben.

KonstanteWertBeschreibung
QAccessible::Attribute::Custom0Werttyp: QHash<QString, QString> Das Attribut „ Custom “ ist insofern besonders, als es effektiv mehrere Attribute gleichzeitig darstellen kann, da es selbst ein „ QHash “ ist, das zur Darstellung von Schlüssel-Wert-Paaren verwendet wird. Bei Plattformen, die benutzerdefinierte Schlüssel-Wert-Paare für Attribute unterstützen, werden die im Attribut „ Custom “ festgelegten Werte ohne jegliche Übersetzung in plattformspezifische Attribute an die Plattformebene weitergeleitet. Im Allgemeinen sollten die anderen, stärker typisierten Attribute verwendet werden. Dieses Attribut kann z. B. für das Prototyping genutzt werden, bevor offiziell ein neuer Aufzählungswert für eine bestimmte Funktion hinzugefügt wird.
QAccessible::Attribute::Level1Werttyp: int Definiert die hierarchische Ebene eines Elements innerhalb einer Struktur, z. B. die Überschriftenebene einer Überschrift. Dieses Attribut entspricht konzeptionell der Eigenschaft „aria-level“ in ARIA.
QAccessible::Attribute::Locale (since Qt 6.10)2Werttyp: QLocale Sprachumgebung des Elements. Damit lässt sich angeben, dass ein Element eine andere Sprachumgebung hat als die Standard-Sprachumgebung der Anwendung, z. B. für Dokumente oder Absätze innerhalb eines Dokuments, die eine andere Sprache verwenden als die Sprache der Benutzeroberfläche der Anwendung.
QAccessible::Attribute::Orientation (since Qt 6.11)3Werttyp: Qt::Orientation Ausrichtung des Elements. Dieses Attribut entspricht konzeptionell der Eigenschaft „aria-orientation“ in ARIA.

Diese Aufzählung wurde in Qt 6.8 eingeführt.

Siehe auch QAccessibleAttributesInterface.

enum QAccessible::Event

Dieser Enum-Typ definiert zugängliche Ereignistypen.

KonstanteWertBeschreibung
QAccessible::AcceleratorChanged0x80C0Die Tastenkombination für eine Aktion wurde geändert.
QAccessible::ActionChanged0x0101Eine Aktion wurde geändert.
QAccessible::ActiveDescendantChanged0x0102 
QAccessible::Alert0x0002Eine Systemmeldung (z. B. eine Meldung von einem QMessageBox)
QAccessible::Announcement (since Qt 6.8)0x80D0Die Ansage einer Nachricht wird angefordert.
QAccessible::AttributeChanged0x0103 
QAccessible::ContextHelpEnd0x000DDie Kontexthilfe (QWhatsThis) für ein Objekt ist beendet.
QAccessible::ContextHelpStart0x000CDie Kontexthilfe (QWhatsThis) für ein Objekt wird aufgerufen.
QAccessible::DefaultActionChanged0x80B0Die Standard-QAccessible::Action für das barrierefreie Objekt hat sich geändert.
QAccessible::DescriptionChanged0x800DDie QAccessible::Description des Objekts hat sich geändert.
QAccessible::DialogEnd0x0011Ein Dialog (QDialog) wurde ausgeblendet.
QAccessible::DialogStart0x0010Ein Dialog (QDialog) wurde sichtbar gemacht.
QAccessible::DocumentContentChanged0x0104Der Inhalt eines Textdokuments hat sich geändert.
QAccessible::DocumentLoadComplete0x0105Ein Dokument wurde geladen.
QAccessible::DocumentLoadStopped0x0106Das Laden eines Dokuments wurde gestoppt.
QAccessible::DocumentReload0x0107Ein erneutes Laden eines Dokuments wurde initiiert.
QAccessible::DragDropEnd0x000FEin Drag-and-Drop-Vorgang steht kurz vor dem Abschluss.
QAccessible::DragDropStart0x000EEin Drag-and-Drop-Vorgang steht kurz vor dem Start.
QAccessible::Focus0x8005Ein Objekt hat den Tastaturfokus erhalten.
QAccessible::ForegroundChanged0x0003Ein Fenster wurde aktiviert (d. h., ein neues Fenster hat den Fokus auf dem Desktop erhalten).
QAccessible::HelpChanged0x80A0Die Texteigenschaft „ QAccessible::Help “ eines Objekts hat sich geändert.
QAccessible::HyperlinkEndIndexChanged0x0108Die Endposition des Anzeigetextes für einen Hypertext-Link hat sich geändert.
QAccessible::HyperlinkNumberOfAnchorsChanged0x0109Die Anzahl der Anker in einem Hypertext-Link hat sich geändert, möglicherweise weil der Anzeigetext aufgeteilt wurde, um mehr als einen Link bereitzustellen.
QAccessible::HyperlinkSelectedLinkChanged0x010ADer Link des ausgewählten Hypertext-Links hat sich geändert.
QAccessible::HyperlinkStartIndexChanged0x010DDie Startposition des Anzeigetextes für einen Hypertext-Link hat sich geändert.
QAccessible::HypertextChanged0x010EDer Anzeigetext eines Hypertext-Links hat sich geändert.
QAccessible::HypertextLinkActivated0x010BEin Hypertext-Link wurde aktiviert, möglicherweise durch einen Klick oder einen Tastendruck.
QAccessible::HypertextLinkSelected0x010CEin Hypertext-Link wurde ausgewählt.
QAccessible::HypertextNLinksChanged0x010F 
QAccessible::IdentifierChanged (since Qt 6.8)0x80E0Die Kennung eines Objekts hat sich geändert.
QAccessible::LocationChanged0x800BDie Position eines Objekts auf dem Bildschirm hat sich geändert.
QAccessible::MenuCommand0x0018Ein Menüpunkt wurde ausgelöst.
QAccessible::MenuEnd0x0005Ein Menü wurde geschlossen (Qt verwendet für alle Menüs „PopupMenuEnd“).
QAccessible::MenuStart0x0004Ein Menü wurde in der Menüleiste geöffnet (Qt verwendet „PopupMenuStart“ für alle Menüs).
QAccessible::NameChanged0x800CDie Eigenschaft „ QAccessible::Name “ eines Objekts hat sich geändert.
QAccessible::ObjectAttributeChanged0x0110 
QAccessible::ObjectCreated0x8000Ein neues Objekt wird erstellt.
QAccessible::ObjectDestroyed0x8001Ein Objekt wird gelöscht.
QAccessible::ObjectHide0x8003Ein Objekt wird ausgeblendet, beispielsweise mit ` QWidget::hide()`. Eventuelle untergeordnete Elemente des ausgeblendeten Objekts senden dieses Ereignis nicht. Es wird nicht gesendet, wenn ein Objekt ausgeblendet wird, weil es von anderen Objekten verdeckt wird.
QAccessible::ObjectReorder0x8004Ein Layout oder eine Elementansicht hat ein Objekt hinzugefügt, entfernt oder verschoben (Qt verwendet dieses Ereignis nicht).
QAccessible::ObjectShow0x8002Ein Objekt wird angezeigt, beispielsweise mit ` QWidget::show()`.
QAccessible::PageChanged0x0111 
QAccessible::ParentChanged0x800FDas übergeordnete Objekt eines Objekts hat sich geändert.
QAccessible::PopupMenuEnd0x0007Ein Popup-Menü wurde geschlossen.
QAccessible::PopupMenuStart0x0006Ein Popup-Menü wurde geöffnet.
QAccessible::RoleChanged (since Qt 6.11)0x80E1Die Rolle eines Objekts hat sich geändert.
QAccessible::ScrollingEnd0x0013Ein Bildlaufvorgang in der Bildlaufleiste wurde beendet (die Maustaste wurde losgelassen).
QAccessible::ScrollingStart0x0012Ein Scrollvorgang an einer Bildlaufleiste steht kurz vor dem Start; dies kann beispielsweise durch einen Mausklick auf den Schieberegler ausgelöst werden.
QAccessible::ScrollingPositionChanged (since Qt 6.12)0x0014Die Position hat sich während einer Bildlaufbewegung geändert.
QAccessible::SectionChanged0x0112 
QAccessible::SelectionAdd0x8007Ein Element wurde der Auswahl in einer Elementansicht hinzugefügt.
QAccessible::SelectionRemove0x8008Ein Element wurde aus der Auswahl einer Elementansicht entfernt.
QAccessible::Selection0x8006Die Auswahl in einem Menü oder einer Elementansicht hat sich geändert.
QAccessible::SelectionWithin0x8009In einer Elementansicht sind mehrere Änderungen an einer Auswahl aufgetreten.
QAccessible::SoundPlayed0x0001Ein Objekt hat einen Ton abgespielt.
QAccessible::TableCaptionChanged0x0113Eine Tabellenbeschriftung wurde geändert.
QAccessible::TableColumnDescriptionChanged0x0114Die Beschreibung einer Tabellenspalte, die sich in der Regel in der Spaltenüberschrift befindet, wurde geändert.
QAccessible::TableColumnHeaderChanged0x0115Eine Tabellen-Spaltenüberschrift wurde geändert.
QAccessible::TableRowDescriptionChanged0x0117Die Beschreibung einer Tabellenzeile, die sich normalerweise in der Zeilenüberschrift befindet, wurde geändert.
QAccessible::TableRowHeaderChanged0x0118Eine Tabellenzeilenüberschrift wurde geändert.
QAccessible::TableSummaryChanged0x0119Die Zusammenfassung einer Tabelle wurde geändert.
QAccessible::TextColumnChanged0x011DEine Textspalte wurde geändert.
QAccessible::VisibleDataChanged0x0122 

Die Werte für diese Aufzählung sind so definiert, dass sie mit denen in den Spezifikationen „IAccessible2“ und „MSAA“ übereinstimmen.

QAccessible::Id

Synonym für „unsigned“, wird vom Cache der „ QAccessibleInterface “ verwendet.

QAccessible::InterfaceFactory

Dies ist ein `typedef` für einen Zeiger auf eine Funktion mit folgender Signatur:

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

Die Funktion erhält einen Zeiger auf „ QString “ und einen Zeiger auf „ QObject “, wobei „ QString “ der Schlüssel ist, der die Schnittstelle identifiziert. „ QObject “ wird an „ QAccessibleInterface “ übergeben, damit diese eine Referenz darauf halten kann.

Wenn der Schlüssel und der „ QObject “ keinen entsprechenden „ QAccessibleInterface “ haben, wird „ nullptr “ zurückgegeben.

Installierte Fabriken werden von `queryAccessibilityInterface()` aufgerufen, bis eine eine Schnittstelle bereitstellt.

enum QAccessible::InterfaceType

QAccessibleInterface unterstützt mehrere Unter-Schnittstellen. Um weitere Informationen zu bestimmten Objekten bereitzustellen, sollte deren zugängliche Darstellung eine oder mehrere dieser Schnittstellen implementieren.

Hinweis: Bei der Erstellung einer Unterklasse einer dieser Schnittstellen muss die Methode ` QAccessibleInterface::interface_cast()` implementiert werden.

KonstanteWertBeschreibung
QAccessible::TextInterface0Für Text, der eine Auswahl ermöglicht oder mehr als eine Zeile umfasst. Einfache Beschriftungen müssen diese Schnittstelle nicht implementieren.
QAccessible::ValueInterface2Für Objekte, die zur Bearbeitung eines Werts dienen, z. B. Schieberegler oder Bildlaufleisten.
QAccessible::ActionInterface3Für interaktive Objekte, die es dem Benutzer ermöglichen, eine Aktion auszulösen. Im Grunde alles, was beispielsweise eine Mausinteraktion zulässt.
QAccessible::TableInterface5Für Listen, Tabellen und Baumstrukturen.
QAccessible::TableCellInterface6Für Zellen in einem „TableInterface“-Objekt.
QAccessible::HyperlinkInterface7Für Hyperlink-Knoten (in der Regel als untergeordnete Elemente von Textknoten eingebettet)
QAccessible::SelectionInterface (since Qt 6.5)8Für Nicht-Text-Objekte, die die Auswahl von untergeordneten Objekten unterstützen.
QAccessible::AttributesInterface (since Qt 6.8)9Für Objekte, die objektspezifische Attribute unterstützen.
QAccessible::ViewportInterface (since Qt 6.12)10Für Objekte, die zweidimensionales oder indiziertes Scrollen ermöglichen.

Siehe auch „ QAccessibleInterface::interface_cast()“, „ QAccessibleTextInterface “, „ QAccessibleValueInterface “, „ QAccessibleActionInterface “, „ QAccessibleTableInterface “, „ QAccessibleTableCellInterface “, „ QAccessibleSelectionInterface “, „ QAccessibleAttributesInterface “ und „ QAccessibleViewportInterface “.

enum QAccessible::RelationFlag
flags QAccessible::Relation

Dieser Enum-Typ definiert Bit-Flags, die kombiniert werden können, um die Beziehung zwischen zwei zugänglichen Objekten anzugeben. Er wird von der Funktion `relations()` verwendet, die eine Liste aller zugehörigen Schnittstellen des aufrufenden Objekts zusammen mit den Beziehungen für jedes Objekt zurückgibt.

Jeder Eintrag in der Liste ist ein std::pair, wobei das Element „ second “ den oder die Beziehungstypen zwischen dem durch das Element „ first “ dargestellten Objekt „ returned “ und der Schnittstelle bzw. dem Objekt „ origin “ (dem Aufrufer) speichert.

In der folgenden Tabelle bezieht sich das Objekt „ returned “ auf das Objekt in der zurückgegebenen Liste, und das Objekt „ origin “ ist dasjenige, das durch die aufrufende Schnittstelle repräsentiert wird.

KonstanteWertBeschreibung
QAccessible::Label0x00000001Das Objekt „ returned “ ist die Bezeichnung für das Objekt „ origin “.
QAccessible::Labelled0x00000002Das Objekt „ returned “ wird durch das Objekt „ origin “ benannt.
QAccessible::Controller0x00000004Das Objekt „ returned “ steuert das Objekt „ origin “.
QAccessible::Controlled0x00000008Das Objekt „ returned “ wird vom Objekt „ origin “ gesteuert.
QAccessible::DescriptionFor (since Qt 6.6)0x00000010Das Objekt „ returned “ liefert eine Beschreibung für das Objekt „ origin “.
QAccessible::Described (since Qt 6.6)0x00000020Das Objekt „ returned “ wird durch das Objekt „ origin “ beschrieben.
QAccessible::FlowsFrom (since Qt 6.6)0x00000040Der Inhalt fließt logisch vom Objekt „ returned “ zum Objekt „ origin “.
QAccessible::FlowsTo (since Qt 6.6)0x00000080Der Inhalt fließt logisch vom Objekt „ origin “ zum Objekt „ returned “.
QAccessible::AllRelations0xffffffffWird als Maske verwendet, um anzugeben, dass wir an Informationen über alle Beziehungen interessiert sind

Implementierungen von relations() geben eine Kombination dieser Flags zurück. Einige Werte schließen sich gegenseitig aus.

Der Typ „Relation“ ist ein `typedef` für ` QFlags<RelationFlag>`. Er speichert eine ODER-Kombination von `RelationFlag`-Werten.

enum QAccessible::Role

Diese Enumeration definiert die Rolle eines barrierefreien Objekts. Die Rollen lauten:

KonstanteWertBeschreibung
QAccessible::AlertMessage0x00000008Ein Objekt, das dazu dient, den Benutzer zu benachrichtigen.
QAccessible::Animation0x00000036Ein Objekt, das eine Animation anzeigt.
QAccessible::Application0x0000000EEin Objekt, das die Anwendung repräsentiert
QAccessible::Assistant0x00000020Ein Objekt, das interaktive Hilfe bereitstellt.
QAccessible::BlockQuote (since Qt 6.9)0x431Ein Inhaltsabschnitt, der aus einer anderen Quelle zitiert wird.
QAccessible::Border0x00000013Ein Objekt, das einen Rahmen darstellt.
QAccessible::ButtonDropDown0x00000038Eine Schaltfläche, die eine Liste von Elementen öffnet.
QAccessible::ButtonDropGrid0x0000003AEine Schaltfläche, die ein Raster anzeigt.
QAccessible::ButtonMenu0x00000039Eine Schaltfläche, die ein Menü öffnet.
QAccessible::Canvas0x00000035Ein Objekt, das Grafiken anzeigt, mit denen der Benutzer interagieren kann.
QAccessible::Caret0x00000007Ein Objekt, das den System-Caret (Textcursor) darstellt.
QAccessible::Cell0x0000001DEine Zelle in einer Tabelle.
QAccessible::Chart0x00000011Ein Objekt, das eine grafische Darstellung von Daten anzeigt.
QAccessible::CheckBox0x0000002CEin Objekt, das eine Option darstellt, die aktiviert oder deaktiviert werden kann. Einige Optionen bieten einen „gemischten“ Zustand, z. B. weder aktiviert noch deaktiviert.
QAccessible::Client0x0000000ADer Client-Bereich in einem Fenster.
QAccessible::Clock0x0000003DEine Uhr, die die Uhrzeit anzeigt.
QAccessible::ColorChooser0x404Ein Dialogfeld, in dem der Benutzer eine Farbe auswählen kann.
QAccessible::Column0x0000001BEine Spalte aus Zellen, meist innerhalb einer Tabelle.
QAccessible::ColumnHeader0x00000019Eine Überschrift für eine Datenspalte.
QAccessible::ComboBox0x0000002EEine Liste mit Auswahlmöglichkeiten, aus denen der Benutzer wählen kann.
QAccessible::ComplementaryContent0x42CEin Teil des Dokuments oder der Webseite, der den Hauptinhalt ergänzt, in der Regel ein Orientierungspunkt (siehe WAI-ARIA).
QAccessible::Cursor0x00000006Ein Objekt, das den Mauszeiger darstellt.
QAccessible::Desktop0x00000082Das Objekt stellt den Desktop oder Arbeitsbereich dar.
QAccessible::Dial0x00000031Ein Objekt, das einen Drehregler oder Knopf darstellt.
QAccessible::Dialog0x00000012Ein Dialogfeld.
QAccessible::Document0x0000000FEin Dokument, beispielsweise in einer Office-Anwendung.
QAccessible::EditableText0x0000002ABearbeitbarer Text, z. B. ein Textfeld oder eine Textbearbeitung.
QAccessible::Equation0x00000037Ein Objekt, das eine mathematische Gleichung darstellt.
QAccessible::Footer0x40EEine Fußzeile auf einer Seite (in der Regel in Dokumenten).
QAccessible::Form0x410Ein Webformular mit Steuerelementen.
QAccessible::Graphic0x00000028Eine Grafik oder ein Bild, z. B. ein Symbol.
QAccessible::Grip0x00000004Ein Griff, den der Benutzer ziehen kann, um die Größe von Widgets zu ändern.
QAccessible::Grouping0x00000014Ein Objekt, das eine logische Gruppierung anderer Objekte darstellt.
QAccessible::Heading0x414Eine Überschrift in einem Dokument.
QAccessible::HelpBalloon0x0000001FEin Objekt, das Hilfe in einem separaten, kurzzeitig angezeigten Fenster anzeigt.
QAccessible::HotkeyField0x00000032Ein Hotkey-Feld, in das der Benutzer eine Tastenkombination eingeben kann.
QAccessible::Indicator0x00000027Ein Indikator, der einen aktuellen Wert oder ein aktuelles Element darstellt.
QAccessible::LayeredPane0x00000080Ein Objekt, das untergeordnete Elemente in Ebenen enthalten kann, z. B. in einem Stapel.
QAccessible::Link0x0000001EEin Link zu etwas anderem.
QAccessible::List0x00000021Eine Liste von Elementen, aus der der Benutzer ein oder mehrere Elemente auswählen kann.
QAccessible::ListItem0x00000022Ein Element in einer Liste von Elementen.
QAccessible::MenuBar0x00000002Eine Menüleiste, über die der Benutzer Menüs öffnen kann.
QAccessible::MenuItem0x0000000CEin Element in einem Menü oder einer Menüleiste.
QAccessible::NoRole0x00000000Das Objekt hat keine Rolle. Dies deutet in der Regel auf ein ungültiges Objekt hin.
QAccessible::Note0x41BEin Abschnitt, dessen Inhalt eine Ergänzung oder einen Nebenaspekt zum Hauptinhalt der Ressource darstellt.
QAccessible::Notification0x00000086Ein Objekt, das eine Benachrichtigung darstellt (z. B. in der Taskleiste). Diese Rolle hat nur unter Linux Auswirkungen.
QAccessible::PageTab0x00000025Eine Seitenregisterkarte, die der Benutzer auswählen kann, um in einem Dialogfenster zu einer anderen Seite zu wechseln.
QAccessible::PageTabList0x0000003CEine Liste von Seitenregisterkarten.
QAccessible::Paragraph0x00000083Ein Textabsatz (kommt in der Regel in Dokumenten vor).
QAccessible::Pane0x00000010Ein generischer Container.
QAccessible::PopupMenu0x0000000BEin Menü, das Optionen auflistet, die der Benutzer auswählen kann, um eine Aktion auszuführen.
QAccessible::ProgressBar0x00000030Das Objekt zeigt den Fortschritt eines laufenden Vorgangs an.
QAccessible::PropertyPage0x00000026Eine Eigenschaftenseite, auf der der Benutzer Optionen und Einstellungen ändern kann.
QAccessible::Button0x0000002BEine Schaltfläche.
QAccessible::RadioButton0x0000002DEin Objekt, das eine Option darstellt, die sich mit anderen Optionen ausschließt.
QAccessible::Row0x0000001CEine Zeile aus Zellen, meist innerhalb einer Tabelle.
QAccessible::RowHeader0x0000001AEine Kopfzeile für eine Datenzeile.
QAccessible::ScrollBar0x00000003Eine Bildlaufleiste, mit der der Benutzer den sichtbaren Bereich scrollen kann.
QAccessible::Section0x00000085Ein Abschnitt (in einem Dokument).
QAccessible::Separator0x00000015Ein Trennzeichen, das den Raum in logische Bereiche unterteilt.
QAccessible::Slider0x00000033Ein Schieberegler, mit dem der Benutzer einen Wert innerhalb eines vorgegebenen Bereichs auswählen kann.
QAccessible::Sound0x00000005Ein Objekt, das einen Ton darstellt.
QAccessible::SpinBox0x00000034Ein Spin-Box-Widget, mit dem der Benutzer einen Wert innerhalb eines vorgegebenen Bereichs eingeben kann.
QAccessible::Splitter0x0000003EEin Splitter, der den verfügbaren Platz auf seine untergeordneten Widgets aufteilt.
QAccessible::StaticText0x00000029Statischer Text, z. B. Beschriftungen für andere Widgets.
QAccessible::StatusBar0x00000017Eine Statusleiste.
QAccessible::Switch (since Qt 6.11)0x00000087Ein Schalter, der ein- oder ausgeschaltet werden kann.
QAccessible::Table0x00000018Eine Tabelle, die Daten in einem Raster aus Zeilen und Spalten darstellt.
QAccessible::Terminal0x00000081Ein Terminal oder eine Befehlszeilenschnittstelle.
QAccessible::TitleBar0x00000001Die Beschriftung der Titelleiste eines Fensters.
QAccessible::ToolBar0x00000016Eine Symbolleiste, in der Widgets gruppiert sind, auf die der Benutzer häufig zugreift.
QAccessible::ToolTip0x0000000DEin Tooltip, der Informationen zu anderen Objekten liefert.
QAccessible::Tree0x00000023Eine Liste von Elementen in einer Baumstruktur.
QAccessible::TreeItem0x00000024Ein Eintrag in einer Baumstruktur.
QAccessible::UserRole0x0000ffffDer erste Wert, der für benutzerdefinierte Rollen verwendet wird.
QAccessible::WebDocument0x00000084HTML-Dokument, meist in einem Browser.
QAccessible::Whitespace0x0000003BLeerraum zwischen anderen Objekten.
QAccessible::Window0x00000009Ein Fenster der obersten Ebene.

enum QAccessible::Text

Diese Enumeration legt Zeichenfolgeninformationen fest, die ein barrierefreies Objekt zurückgibt.

KonstanteWertBeschreibung
QAccessible::Name0Der Name des Objekts. Dieser kann von barrierefreien Clients sowohl als Bezeichner als auch als Kurzbeschreibung verwendet werden.
QAccessible::Description1Ein kurzer Text, der das Objekt beschreibt.
QAccessible::Value2Der Wert des Objekts.
QAccessible::Help3Ein längerer Text mit Informationen zur Verwendung des Objekts.
QAccessible::Accelerator4Die Tastenkombination, die die Standardaktion des Objekts ausführt.
QAccessible::UserText0x0000ffffDer erste Wert, der für benutzerdefinierten Text verwendet werden soll.
QAccessible::Identifier (since Qt 6.8)6Eine Kennung für das Objekt, z. B. für UI-Tests.

enum QAccessible::TextBoundaryType

Diese Enumeration beschreibt verschiedene Arten von Textgrenzen. Sie entspricht der IAccessible2-API und wird im „ QAccessibleTextInterface “ verwendet.

KonstanteWertBeschreibung
QAccessible::CharBoundary0Verwendet einzelne Zeichen als Begrenzung.
QAccessible::WordBoundary1Wörter als Begrenzungen verwenden.
QAccessible::SentenceBoundary2Sätze als Trennzeichen verwenden.
QAccessible::ParagraphBoundary3Absätze als Trennzeichen verwenden.
QAccessible::LineBoundary4Zeilenumbrüche als Begrenzung verwenden.
QAccessible::NoBoundary5Keine Begrenzung (den gesamten Text verwenden).

Siehe auch QAccessibleTextInterface.

Dokumentation der Member-Funktionen

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

Gibt die „ QAccessibleInterface “ zurück, die zu „ id “ gehört.

Gibt „ nullptr “ zurück, wenn die ID ungültig ist.

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

Entfernt die zu dieser „ id “ gehörende Schnittstelle aus dem Cache und löscht sie. Die ID wird ungültig und kann vom Cache wiederverwendet werden.

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

Installiert die „ InterfaceFactory “ factory. Die zuletzt hinzugefügte Factory wird von queryAccessibleInterface() als erste verwendet.

[static] bool QAccessible::isActive()

Gibt „ true “ zurück, wenn die Plattform Informationen zur Barrierefreiheit angefordert hat.

Diese Funktion gibt „false“ zurück, bis ein Tool wie beispielsweise ein Screenreader auf das Barrierefreiheits-Framework zugegriffen hat. Es ist weiterhin möglich, „ QAccessible::queryAccessibleInterface()“ zu verwenden, auch wenn die Barrierefreiheit nicht aktiv ist. Es werden jedoch keine Benachrichtigungen an die Plattform gesendet.

Es wird empfohlen, diese Funktion zu verwenden, um aufwendige Benachrichtigungen über ` updateAccessibility()` zu vermeiden, wenn diese nicht benötigt werden.

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

Wenn für die angegebene Klasse ` object` eine ` QAccessibleInterface `-Implementierung vorhanden ist, gibt diese Funktion einen Zeiger auf die Implementierung zurück; andernfalls gibt sie ` nullptr` zurück.

Die Funktion ruft alle installierten Factory-Funktionen auf (von der zuletzt installierten bis zur am längsten zurückliegenden), bis eine gefunden wird, die eine Schnittstelle für die Klasse „ object “ bereitstellt. Wenn keine Factory eine Barrierefreiheits-Implementierung für die Klasse bereitstellen kann, lädt die Funktion installierte Barrierefreiheits-Plugins und prüft, ob eines der Plugins die Implementierung bereitstellen kann.

Ist keine Implementierung für die Klasse des Objekts verfügbar, versucht die Funktion, mithilfe der oben beschriebenen Strategie eine Implementierung für die übergeordnete Klasse des Objekts zu finden.

Alle Schnittstellen werden von einem internen Cache verwaltet und sollten nicht gelöscht werden.

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

Rufen Sie diese Funktion auf, um sicherzustellen, dass manuell erstellte Schnittstellen ordnungsgemäß verwaltet werden.

Darf pro Schnittstelle „ iface “ genau einmal aufgerufen werden. Dies wird implizit beim Aufruf von „ queryAccessibleInterface “ erfolgt; der Aufruf dieser Funktion ist nur erforderlich, wenn „QAccessibleInterfaces“ mit dem Operator „new“ instanziiert werden. Dies wird nicht empfohlen; verwenden Sie nach Möglichkeit die Standardfunktionen und überlassen Sie dies der Funktion „ queryAccessibleInterface()“.

Wenn es notwendig ist, die Funktion ` QAccessibleInterface::child()` neu zu implementieren und das untergeordnete Element nach dessen Erstellung zurückzugeben, muss diese Funktion aufgerufen werden.

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

Entfernt „ factory “ aus der Liste der installierten InterfaceFactories.

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

Legt das Stammobjekt der zugänglichen Objekte dieser Anwendung auf „ object “ fest. Alle anderen zugänglichen Objekte sind über die Objektnavigation vom Stammobjekt aus erreichbar.

Normalerweise ist es nicht erforderlich, diese Funktion aufzurufen, da Qt das Objekt „ QApplication “ unmittelbar vor dem Eintritt in die Ereignisschleife in ` QApplication::exec()` als Stammobjekt festlegt.

Verwenden Sie `QAccessible::installRootObjectHandler()`, um den Funktionsaufruf an eine benutzerdefinierte Handler-Funktion umzuleiten.

Siehe auch ` queryAccessibleInterface()`.

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

Gibt die eindeutige ID für den „ QAccessibleInterface “ unter iface zurück.

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

Informiert über eine Änderung, die für Barrierefreiheits-Clients relevant sein könnte.

event Liefert Details zur Änderung. Dazu gehören die Quelle der Änderung und die Art der Änderung. Der „ event “ sollte genügend Informationen enthalten, um aussagekräftige Benachrichtigungen zu ermöglichen.

Beispielsweise gibt der Typ „ ValueChange “ an, dass die Position eines Schiebereglers geändert wurde.

Rufen Sie diese Funktion immer dann auf, wenn sich der Zustand Ihres barrierefreien Objekts oder eines seiner Unterelemente entweder programmgesteuert (z. B. durch Aufruf von ` QLabel::setText()`) oder durch Benutzerinteraktion geändert hat.

Wenn keine Barrierefreiheits-Tools auf dieses Ereignis warten, ist der Leistungsverlust durch den Aufruf dieser Funktion gering; sollte die Ermittlung der Aufrufparameter jedoch aufwendig sein, können Sie ` QAccessible::isActive()` prüfen, um unnötige Berechnungen zu vermeiden.

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