QAccessible Class

Die Klasse QAccessible bietet Enums und statische Funktionen im Zusammenhang mit der Barrierefreiheit. Mehr...

Kopfzeile: #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 }
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, Border, …, 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)

Detaillierte Beschreibung

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

Barrierefreie Anwendungen können von Menschen genutzt werden, die nicht in der Lage sind, Anwendungen mit herkömmlichen Mitteln zu nutzen.

Die Funktionen in dieser Klasse dienen der Kommunikation zwischen barrierefreien Anwendungen (auch AT-Server genannt) und barrierefreien Werkzeugen (AT-Clients), wie z.B. Screenreadern 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 des Servers an. Die Klasse QAccessibleInterface ist die Kernschnittstelle und kapselt diese Informationen in einer rein virtuellen API. Implementierungen der Schnittstelle werden von Qt über die queryAccessibleInterface() API bereitgestellt.

Die Kommunikation zwischen Servern und Clients wird durch die Funktion setRootObject() initialisiert. Funktionszeiger können installiert 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 mit QAccessibleBridge unterstützt werden.

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

  • org.a11y.Status.IsEnabled DBus-Eigenschaft ist true
  • org.a11y.Status.ScreenReaderEnabled DBus-Eigenschaft ist wahr

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

Zusätzlich zu den statischen Funktionen von QAccessible bietet Qt eine generische Schnittstelle, QAccessibleInterface, die verwendet werden kann, um alle Widgets und Objekte zu verpacken (z.B. QPushButton). Diese einzige Schnittstelle stellt alle Metadaten bereit, die für die unterstützenden Technologien erforderlich sind. Qt bietet Implementierungen dieser Schnittstelle für seine eingebauten Widgets als Plugins an.

Wenn Sie benutzerdefinierte Widgets entwickeln, können Sie benutzerdefinierte Unterklassen von QAccessibleInterface erstellen und sie als Plugins (mit QAccessiblePlugin) verteilen oder sie in die Anwendung kompilieren. Ebenso kann die vordefinierte Unterstützung für Barrierefreiheit in Qt als Plugin (die Standardeinstellung) oder direkt in die Qt-Bibliothek integriert werden. Der Hauptvorteil der Verwendung von Plugins besteht darin, dass die Klassen für Barrierefreiheit nur dann in den Speicher geladen werden, wenn sie tatsächlich verwendet werden; sie verlangsamen nicht den üblichen Fall, in dem keine Hilfstechnologie verwendet wird.

Qt enthält auch zwei Komfortklassen, QAccessibleObject und QAccessibleWidget, die von QAccessibleInterface erben und den kleinsten gemeinsamen Nenner von Metadaten bereitstellen (z.B. Widgetgeometrie, Fenstertitel, einfacher Hilfetext). Sie können sie als Basisklassen verwenden, wenn Sie Ihre benutzerdefinierten QObject oder QWidget Unterklassen wrappen.

Siehe auch QAccessibleInterface.

Dokumentation der Mitgliedstypen

[since 6.8] enum class QAccessible::AnnouncementPoliteness

Diese Aufzählung beschreibt die Priorität für Ansagen, die von QAccessibleAnnouncementEvent verwendet werden.

Mit QAccessible::AnouncementPoliteness::Polite sollten assistive Technologien die Nachricht bei der nächsten günstigen Gelegenheit ankündigen, z. B. am Ende des aktuellen Satzes oder wenn der Benutzer eine Pause beim Tippen macht.

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

Da eine Unterbrechung den Benutzer verwirren oder dazu führen könnte, dass er seine aktuelle Aufgabe nicht zu Ende führt, sollte QAccessible::AnouncementPoliteness::Assertive nur verwendet werden, wenn die Unterbrechung zwingend notwendig ist.

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

Dieses Enum wurde in Qt 6.8 eingeführt.

Siehe auch QAccessibleAnnouncementEvent.

[since 6.8] enum class QAccessible::Attribute

Diese Aufzählung beschreibt verschiedene Arten von Attributen, die von QAccessibleAttributesInterface verwendet werden.

Diese Attribute sind vergleichbar mit dem Konzept der Eigenschaften/(Objekt-)Attribute in ARIA, AT-SPI2, IAccessible, UIA und NSAccessibility und werden gegebenenfalls auf ihr Plattform-Gegenstück abgebildet.

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

Attributwerte werden in einer QVariant dargestellt. Der Typ des in der QVariant gespeicherten Wertes ist festgelegt und wird nachstehend für jeden der Attributtypen angegeben.

KonstanteWertBeschreibung
QAccessible::Attribute::Custom0Werttyp: QHash<QString QString > Das Attribut Custom ist insofern besonders, als es effektiv mehrere Attribute auf einmal darstellen kann, da es selbst ein QHash ist, das zur Darstellung von Schlüssel-Wert-Paaren verwendet wird. Für Plattformen, die benutzerdefinierte Schlüssel-Wert-Paare für Attribute unterstützen, werden die im Custom -Attribut eingestellten Attribute mit der Plattformschicht verbunden, ohne dass eine Übersetzung in plattformspezifische Attribute vorgenommen wird. Im Allgemeinen sollten die anderen, stärker typisierten Attribute verwendet werden. Dieses Attribut kann z. B. für Prototypen verwendet werden, bevor ein offizieller neuer Aufzählungswert für ein bestimmtes Merkmal hinzugefügt wird.
QAccessible::Attribute::Level1Werttyp: int Definiert die hierarchische Ebene eines Elements innerhalb einer Struktur, z. B. die Überschriftsebene einer Überschrift. Dieses Attribut entspricht konzeptionell der Eigenschaft "aria-level" in ARIA.

Dieses Enum wurde in Qt 6.8 eingeführt.

Siehe auch QAccessibleAttributesInterface.

enum QAccessible::Event

Dieser Enum-Typ definiert zugängliche Ereignistypen.

KonstanteWertBeschreibung
QAccessible::AcceleratorChanged0x80C0Der Tastaturbeschleuniger für eine Aktion wurde geändert.
QAccessible::ActionChanged0x0101Eine Aktion wurde geändert.
QAccessible::ActiveDescendantChanged0x0102
QAccessible::Alert0x0002Eine Systemmeldung (z. B. eine Nachricht von 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 eingeleitet.
QAccessible::DefaultActionChanged0x80B0Die Standard QAccessible::Action für das zugängliche Objekt hat sich geändert.
QAccessible::DescriptionChanged0x800DDie QAccessible::Description des Objekts wurde geändert.
QAccessible::DialogEnd0x0011Ein Dialog (QDialog) wurde ausgeblendet.
QAccessible::DialogStart0x0010Ein Dialog (QDialog) wurde sichtbar geschaltet.
QAccessible::DocumentContentChanged0x0104Der Inhalt eines Textdokuments hat sich geändert.
QAccessible::DocumentLoadComplete0x0105Ein Dokument wurde geladen.
QAccessible::DocumentLoadStopped0x0106Das Laden eines Dokuments wurde gestoppt.
QAccessible::DocumentReload0x0107Ein Neuladen des Dokuments wurde eingeleitet.
QAccessible::DragDropEnd0x000FEin Drag&Drop-Vorgang wird gerade beendet.
QAccessible::DragDropStart0x000EEin Drag&Drop-Vorgang wird gerade eingeleitet.
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, z. B. weil der Anzeigetext aufgeteilt wurde, um mehr als einen Link bereitzustellen.
QAccessible::HyperlinkSelectedLinkChanged0x010ADer Link für den ausgewählten Hypertext-Link hat sich geändert.
QAccessible::HyperlinkStartIndexChanged0x010DDie Startposition des Anzeigetextes für einen Hypertext-Link hat sich geändert.
QAccessible::HypertextChanged0x010EDer Anzeigetext für einen Hypertext-Link hat sich geändert.
QAccessible::HypertextLinkActivated0x010BEin Hypertext-Link wurde aktiviert, z. B. durch Anklicken oder durch Tastendruck.
QAccessible::HypertextLinkSelected0x010CEin Hypertext-Link wurde ausgewählt.
QAccessible::HypertextNLinksChanged0x010F
QAccessible::IdentifierChanged (since Qt 6.8)0x80E0Der Bezeichner 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 PopupMenuEnd für alle Menüs).
QAccessible::MenuStart0x0004Ein Menü wurde in der Menüleiste geöffnet (Qt verwendet PopupMenuStart für alle Menüs).
QAccessible::NameChanged0x800CDie QAccessible::Name Eigenschaft eines Objekts hat sich geändert.
QAccessible::ObjectAttributeChanged0x0110
QAccessible::ObjectCreated0x8000Ein neues Objekt wurde erstellt.
QAccessible::ObjectDestroyed0x8001Ein Objekt wurde gelöscht.
QAccessible::ObjectHide0x8003Ein Objekt wird versteckt, zum Beispiel mit QWidget::hide(). Alle Kinder, die das ausgeblendete Objekt hat, senden dieses Ereignis nicht. Es wird nicht gesendet, wenn ein Objekt ausgeblendet wird, da es von anderen 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, zum Beispiel mit QWidget::show().
QAccessible::PageChanged0x0111
QAccessible::ParentChanged0x800FDas übergeordnete Objekt eines Objekts wurde geändert.
QAccessible::PopupMenuEnd0x0007Ein Popup-Menü wurde geschlossen.
QAccessible::PopupMenuStart0x0006Ein Popup-Menü wurde geöffnet.
QAccessible::ScrollingEnd0x0013Eine Bildlaufoperation wurde beendet (die Maus hat den Schieberegler losgelassen).
QAccessible::ScrollingStart0x0012Ein Bildlauf wird gerade gestartet; dies kann z. B. durch einen Mausdruck auf den Schieberegler ausgelöst werden.
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 hat sich in einer Menü- oder Artikelansicht geändert.
QAccessible::SelectionWithin0x8009In einer Objektansicht wurden mehrere Änderungen an einer Auswahl vorgenommen.
QAccessible::SoundPlayed0x0001Ein Sound wurde von einem Objekt abgespielt.
QAccessible::TableCaptionChanged0x0113Eine Tabellenbeschriftung wurde geändert.
QAccessible::TableColumnDescriptionChanged0x0114Die Beschreibung einer Tabellenspalte, die normalerweise in der Spaltenüberschrift zu finden ist, wurde geändert.
QAccessible::TableColumnHeaderChanged0x0115Die Überschrift einer Tabellenspalte wurde geändert.
QAccessible::TableRowDescriptionChanged0x0117Die Beschreibung einer Tabellenzeile, die normalerweise im Zeilenkopf zu finden ist, wurde geändert.
QAccessible::TableRowHeaderChanged0x0118Die Überschrift einer Tabellenzeile 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 den in den Spezifikationen IAccessible2 und MSAA definierten Werten übereinstimmen.

QAccessible::Id

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

QAccessible::InterfaceFactory

Dies ist ein Typedef für einen Zeiger auf eine Funktion mit der folgenden Signatur:

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

Die Funktion erhält einen QString und einen QObject Zeiger, wobei QString der Schlüssel ist, der die Schnittstelle identifiziert. Der QObject wird verwendet, um an den QAccessibleInterface weiterzugeben, damit dieser einen Verweis auf ihn halten kann.

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

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

enum QAccessible::InterfaceType

QAccessibleInterface unterstützt mehrere Unterschnittstellen. Um mehr Informationen über einige Objekte zu erhalten, sollte ihre zugängliche Darstellung eine oder mehrere dieser Schnittstellen implementieren.

Hinweis: Wenn Sie eine dieser Schnittstellen subklassifizieren, muss QAccessibleInterface::interface_cast() implementiert werden.

KonstanteWertBeschreibung
QAccessible::TextInterface0Für Text, der Auswahlen unterstützt oder mehr als eine Zeile umfasst. Einfache Beschriftungen brauchen diese Schnittstelle nicht zu implementieren.
QAccessible::ValueInterface2Für Objekte, die zur Manipulation eines Wertes verwendet werden, z. B. Schieberegler oder Bildlaufleisten.
QAccessible::ActionInterface3Für interaktive Objekte, die es dem Benutzer ermöglichen, eine Aktion auszulösen. Grundsätzlich alles, was z. B. Mausinteraktion ermöglicht.
QAccessible::TableInterface5Für Listen, Tabellen und Bäume.
QAccessible::TableCellInterface6Für Zellen in einem TableInterface-Objekt.
QAccessible::HyperlinkInterface7Für Hyperlink-Knoten (normalerweise eingebettet als Kinder von Textknoten)
QAccessible::SelectionInterface (since Qt 6.5)8Für Nicht-Text-Objekte, die die Auswahl von Unterobjekten unterstützen.
QAccessible::AttributesInterface (since Qt 6.8)9Für Objekte, die objektspezifische Attribute unterstützen.

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

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 anzuzeigen. Er wird von der Funktion relations() verwendet, die eine Liste aller verwandten Schnittstellen des aufrufenden Objekts zusammen mit den Beziehungen für jedes Objekt zurückgibt.

Jeder Eintrag in der Liste ist ein QPair, wobei das Mitglied second den/die Beziehungstyp(en) zwischen dem returned Objekt, das durch das Mitglied first dargestellt wird, und der origin (dem aufrufenden) Schnittstelle/Objekt speichert.

In der nachstehenden Tabelle bezieht sich das returned Objekt auf das Objekt in der zurückgegebenen Liste, und das origin Objekt ist dasjenige, das durch die aufrufende Schnittstelle dargestellt wird.

KonstanteWertBeschreibung
QAccessible::Label0x00000001Das Objekt returned ist die Bezeichnung für das Objekt origin.
QAccessible::Labelled0x00000002Das Objekt returned wird durch das Objekt origin bezeichnet.
QAccessible::Controller0x00000004Das returned Objekt kontrolliert das origin Objekt.
QAccessible::Controlled0x00000008Das returned Objekt wird durch das origin Objekt gesteuert.
QAccessible::DescriptionFor (since Qt 6.6)0x00000010Das returned Objekt liefert eine Beschreibung für das origin Objekt.
QAccessible::Described (since Qt 6.6)0x00000020Das returned Objekt wird durch das origin Objekt 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 logischerweise vom origin Objekt zum returned Objekt.
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 Aufzählung definiert die Rolle eines zugänglichen Objekts. Die Rollen sind:

KonstanteWertBeschreibung
QAccessible::AlertMessage0x00000008Ein Objekt, das zur Benachrichtigung des Benutzers verwendet wird.
QAccessible::Animation0x00000036Ein Objekt, das eine Animation anzeigt.
QAccessible::Application0x0000000EDas Hauptfenster der Anwendung.
QAccessible::Assistant0x00000020Ein Objekt, das interaktive Hilfe bietet.
QAccessible::Border0x00000013Ein Objekt, das einen Rahmen darstellt.
QAccessible::ButtonDropDown0x00000038Eine Schaltfläche, die eine Liste von Elementen einblendet.
QAccessible::ButtonDropGrid0x0000003AEine Schaltfläche, die ein Gitter einblendet.
QAccessible::ButtonMenu0x00000039Eine Schaltfläche, die ein Menü einblendet.
QAccessible::Canvas0x00000035Ein Objekt, das Grafiken anzeigt, mit denen der Benutzer interagieren kann.
QAccessible::Caret0x00000007Ein Objekt, das den System-Cursor (Textzeiger) 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 angekreuzt oder nicht angekreuzt werden kann. Einige Optionen bieten einen "gemischten" Status, z. B. weder markiert noch nicht markiert.
QAccessible::Client0x0000000ADer Client-Bereich in einem Fenster.
QAccessible::Clock0x0000003DEine Uhr, die die Zeit anzeigt.
QAccessible::ColorChooser0x404Ein Dialogfeld, in dem der Benutzer eine Farbe auswählen kann.
QAccessible::Column0x0000001BEine Spalte mit Zellen, normalerweise in einer Tabelle.
QAccessible::ColumnHeader0x00000019Eine Kopfzeile für eine Spalte mit Daten.
QAccessible::ComboBox0x0000002EEine Liste von Auswahlmöglichkeiten, aus der der Benutzer wählen kann.
QAccessible::ComplementaryContent0x42CEin Teil des Dokuments oder der Webseite, der den Hauptinhalt ergänzt, normalerweise eine Landmarke (siehe WAI-ARIA).
QAccessible::Cursor0x00000006Ein Objekt, das den Mauszeiger darstellt.
QAccessible::Desktop0x00000082Das Objekt stellt den Desktop oder Arbeitsbereich dar.
QAccessible::Dial0x00000031Ein Objekt, das ein Rad oder einen Knopf darstellt.
QAccessible::Dialog0x00000012Ein Dialogfeld.
QAccessible::Document0x0000000FEin Dokument, zum Beispiel in einer Büroanwendung.
QAccessible::EditableText0x0000002ABearbeitbarer Text, z. B. eine Zeile oder eine Textbearbeitung.
QAccessible::Equation0x00000037Ein Objekt, das eine mathematische Gleichung darstellt.
QAccessible::Footer0x40EEine Fußzeile auf einer Seite (normalerweise 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 von anderen Objekten darstellt.
QAccessible::Heading0x414Eine Überschrift in einem Dokument.
QAccessible::HelpBalloon0x0000001FEin Objekt, das Hilfe in einem separaten, kurzlebigen Fenster anzeigt.
QAccessible::HotkeyField0x00000032Ein Hotkey-Feld, in das der Benutzer eine Tastenfolge eingeben kann.
QAccessible::Indicator0x00000027Ein Indikator, der einen aktuellen Wert oder ein Element darstellt.
QAccessible::LayeredPane0x00000080Ein Objekt, das untergeordnete 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 weist normalerweise auf ein ungültiges Objekt hin.
QAccessible::Note0x41BEin Abschnitt, dessen Inhalt dem Hauptinhalt der Ressource vorangestellt oder untergeordnet ist.
QAccessible::Notification0x00000086Ein Objekt, das eine Benachrichtigung darstellt (z. B. im Systemtray). Diese Rolle hat nur unter Linux eine Auswirkung.
QAccessible::PageTab0x00000025Ein Seitenreiter, den der Benutzer auswählen kann, um in einem Dialog zu einer anderen Seite zu wechseln.
QAccessible::PageTabList0x0000003CEine Liste von Seitenregisterkarten.
QAccessible::Paragraph0x00000083Ein Textabschnitt (normalerweise in Dokumenten).
QAccessible::Pane0x00000010Ein allgemeiner 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 Eigenschaftsseite, 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 gegenseitig ausschließt.
QAccessible::Row0x0000001CEine Reihe von Zellen, normalerweise innerhalb einer Tabelle.
QAccessible::RowHeader0x0000001AEine Kopfzeile für eine Datenreihe.
QAccessible::ScrollBar0x00000003Eine Bildlaufleiste, die es dem Benutzer ermöglicht, den sichtbaren Bereich zu verschieben.
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 bestimmten Bereichs auswählen kann.
QAccessible::Sound0x00000005Ein Objekt, das einen Ton darstellt.
QAccessible::SpinBox0x00000034Ein Spin-Box-Widget, das dem Benutzer die Eingabe eines Wertes innerhalb eines bestimmten Bereichs ermöglicht.
QAccessible::Splitter0x0000003EEin Splitter, der den verfügbaren Platz zwischen seinen untergeordneten Widgets aufteilt.
QAccessible::StaticText0x00000029Statischer Text, z. B. Beschriftungen für andere Widgets.
QAccessible::StatusBar0x00000017Eine Statusleiste.
QAccessible::Table0x00000018Eine Tabelle, die Daten in einem Gitter aus Zeilen und Spalten darstellt.
QAccessible::Terminal0x00000081Ein Terminal oder eine Befehlszeilenschnittstelle.
QAccessible::TitleBar0x00000001Die Beschriftung der Titelleiste eines Fensters.
QAccessible::ToolBar0x00000016Eine Symbolleiste, die Widgets gruppiert, auf die der Benutzer häufig zugreift.
QAccessible::ToolTip0x0000000DEin Tooltip, der Informationen über andere Objekte liefert.
QAccessible::Tree0x00000023Eine Liste von Elementen in einer Baumstruktur.
QAccessible::TreeItem0x00000024Ein Element in einer Baumstruktur.
QAccessible::UserRole0x0000ffffDer erste Wert, der für benutzerdefinierte Rollen verwendet wird.
QAccessible::WebDocument0x00000084HTML-Dokument, normalerweise in einem Browser.
QAccessible::Whitespace0x0000003BLeerraum zwischen anderen Objekten.
QAccessible::Window0x00000009Ein Fenster der obersten Ebene.

enum QAccessible::Text

Diese Aufzählung gibt die String-Informationen an, die ein zugängliches Objekt zurückgibt.

KonstanteWertBeschreibung
QAccessible::Name0Der Name des Objekts. Dieser kann sowohl als Bezeichner als auch als Kurzbeschreibung von zugänglichen Clients verwendet werden.
QAccessible::Description1Ein kurzer Text, der das Objekt beschreibt.
QAccessible::Value2Der Wert des Objekts.
QAccessible::Help3Ein längerer Text mit Informationen über die Verwendung des Objekts.
QAccessible::Accelerator4Das Tastaturkürzel, das die Standardaktion des Objekts ausführt.
QAccessible::UserText0x0000ffffDer erste Wert, der für benutzerdefinierten Text verwendet wird.
QAccessible::Identifier (since Qt 6.8)6Ein Bezeichner für das Objekt, z. B. für UI-Tests.

enum QAccessible::TextBoundaryType

Diese Aufzählung beschreibt verschiedene Arten von Textgrenzen. Sie folgt der IAccessible2 API und wird in der QAccessibleTextInterface verwendet.

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

Siehe auch QAccessibleTextInterface.

Dokumentation der Mitgliedsfunktionen

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

Gibt die QAccessibleInterface zurück, die zur 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 wieder verwendet werden.

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

Installiert die InterfaceFactory factory . Die zuletzt hinzugefügte Fabrik ist die erste, die von queryAccessibleInterface() verwendet wird.

[static] bool QAccessible::isActive()

Gibt true zurück, wenn die Plattform Zugänglichkeitsinformationen angefordert hat.

Diese Funktion gibt false zurück, bis ein Tool wie ein Screenreader auf das Accessibility Framework zugreift. Es ist möglich, QAccessible::queryAccessibleInterface() auch dann zu verwenden, wenn die Barrierefreiheit nicht aktiv ist. Es werden dann aber keine Benachrichtigungen an die Plattform gesendet.

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

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

Wenn für die angegebene object eine Implementierung von QAccessibleInterface existiert, 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 zuletzt installierten), bis eine gefunden wird, die eine Schnittstelle für die Klasse object bereitstellt. Wenn keine Factory eine Accessibility-Implementierung für die Klasse bereitstellen kann, lädt die Funktion installierte Accessibility-Plugins und testet, ob eines der Plugins die Implementierung bereitstellen kann.

Wenn keine Implementierung für die Klasse des Objekts verfügbar ist, versucht die Funktion, eine Implementierung für die übergeordnete Klasse des Objekts zu finden, indem sie die oben genannte Strategie anwendet.

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äß im Speicher verwaltet werden.

Darf nur genau einmal pro Schnittstelle iface aufgerufen werden. Sie wird implizit beim Aufruf von queryAccessibleInterface aufgerufen. Der Aufruf dieser Funktion ist nur erforderlich, wenn QAccessibleInterfaces mit dem "new"-Operator instanziiert werden. Dies wird nicht empfohlen, wann immer es möglich ist, verwenden Sie die Standardfunktionen und lassen Sie queryAccessibleInterface() diese Aufgabe erledigen.

Wenn es notwendig ist, die Funktion QAccessibleInterface::child() neu zu implementieren und das Kind nach der Konstruktion 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)

Setzt das Stammobjekt der zugänglichen Objekte dieser Anwendung auf object. Alle anderen zugänglichen Objekte sind über die Objektnavigation vom Wurzelobjekt aus erreichbar.

Normalerweise ist es nicht notwendig, diese Funktion aufzurufen, da Qt das QApplication Objekt als Wurzelobjekt unmittelbar vor dem Eintritt in die Ereignisschleife in QApplication::exec() festlegt.

Verwenden Sie QAccessible::installRootObjectHandler(), um den Funktionsaufruf auf eine angepasste Handler-Funktion umzuleiten.

Siehe auch queryAccessibleInterface().

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

Gibt die eindeutige ID für die Website QAccessibleInterface iface zurück.

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

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

event liefert Details über die Änderung. Dazu gehören die Quelle der Änderung und die Art der Änderung. Die event sollte genügend Informationen enthalten, um aussagekräftige Benachrichtigungen zu geben.

Zum Beispiel zeigt der Typ ValueChange an, dass die Position eines Schiebereglers geändert wurde.

Rufen Sie diese Funktion immer dann auf, wenn der Zustand Ihres zugänglichen Objekts oder eines seiner Unterelemente entweder programmatisch (z. B. durch den Aufruf von QLabel::setText()) oder durch Benutzerinteraktion geändert wurde.

Wenn es keine Hilfsmittel für die Barrierefreiheit gibt, die dieses Ereignis abhören, ist der Leistungsverlust durch den Aufruf dieser Funktion gering, aber wenn die Bestimmung der Parameter des Aufrufs teuer ist, können Sie QAccessible::isActive() testen, um unnötige Berechnungen zu vermeiden.

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