QAccessibleInterface Class
Die Klasse „QAccessibleInterface“ definiert eine Schnittstelle, die Informationen über barrierefreie Objekte bereitstellt. Mehr...
| Header: | #include <QAccessibleInterface> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| Vererbt an: |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QAccessibleInterface ist Teil der Barrierefreiheitsklassen.
Öffentliche Funktionen
| QAccessibleActionInterface * | actionInterface() |
| virtual QColor | backgroundColor() const |
| virtual QAccessibleInterface * | child(int index) const = 0 |
| virtual QAccessibleInterface * | childAt(int x, int y) const = 0 |
| virtual int | childCount() const = 0 |
| virtual QAccessibleInterface * | focusChild() const |
| virtual QColor | foregroundColor() const |
| virtual int | indexOfChild(const QAccessibleInterface *child) const = 0 |
| virtual void * | interface_cast(QAccessible::InterfaceType type) |
| virtual bool | isValid() const = 0 |
| virtual QObject * | object() const = 0 |
| virtual QAccessibleInterface * | parent() const = 0 |
| virtual QRect | rect() const = 0 |
| virtual QList<std::pair<QAccessibleInterface *, QAccessible::Relation>> | relations(QAccessible::Relation match = QAccessible::AllRelations) const |
| virtual QAccessible::Role | role() const = 0 |
(since 6.5) QAccessibleSelectionInterface * | selectionInterface() |
| virtual void | setText(QAccessible::Text t, const QString &text) = 0 |
| virtual QAccessible::State | state() const = 0 |
| QAccessibleTableCellInterface * | tableCellInterface() |
| QAccessibleTableInterface * | tableInterface() |
| virtual QString | text(QAccessible::Text t) const = 0 |
| QAccessibleTextInterface * | textInterface() |
| QAccessibleValueInterface * | valueInterface() |
(since 6.12) QAccessibleViewportInterface * | viewportInterface() |
| virtual QWindow * | window() const |
Geschützte Funktionen
| QAccessibleInterface() | |
| virtual | ~QAccessibleInterface() |
Ausführliche Beschreibung
Diese Klasse ist Teil der Barrierefreiheit für QWidget-Anwendungen.
Barrierefreiheits-Tools (auch als AT-Clients bezeichnet), wie z. B. Bildschirmleseprogramme oder Braillezeilen, benötigen übergeordnete Informationen über barrierefreie Objekte in einer Anwendung. Barrierefreie Objekte stellen spezielle Ein- und Ausgabemethoden bereit, die es Benutzern ermöglichen, Barrierefreiheits-Tools mit kompatiblen Anwendungen (AT-Servern) zu nutzen.
Jedes Element, mit dem der Benutzer interagieren oder auf das er reagieren muss, ist ein barrierefreies Objekt und sollte diese Informationen bereitstellen. Dabei handelt es sich hauptsächlich um visuelle Objekte wie Widgets und Widget-Elemente, es kann sich aber auch um Inhalte wie beispielsweise Töne handeln.
Der AT-Client nutzt drei grundlegende Konzepte, um Informationen über jedes barrierefreie Objekt in einer Anwendung zu erfassen:
- Eigenschaften: Der Client kann Informationen über barrierefreie Objekte auslesen. In einigen Fällen kann der Client diese Eigenschaften auch ändern, beispielsweise den Text in einem Zeileneingabefeld.
- Aktionen Der Client kann Aktionen auslösen, wie beispielsweise das Drücken einer Schaltfläche oder .
- Beziehungen und Navigation: Der Client kann mithilfe der Beziehungen zwischen Objekten von einem barrierefreien Objekt zum nächsten navigieren.
Die Schnittstelle `QAccessibleInterface` definiert die API für diese drei Konzepte.
Beziehungen und Navigation
Die Funktionen ` childCount()` und ` indexOfChild()` geben die Anzahl der untergeordneten Objekte eines barrierefreien Objekts sowie den Index eines untergeordneten Objekts in seinem übergeordneten Objekt zurück. Die Funktion ` childAt()` gibt ein untergeordnetes `QAccessibleInterface` zurück, das an einer bestimmten Position gefunden wurde. Das untergeordnete Objekt muss kein direktes untergeordnetes Objekt sein. Dies ermöglicht das Umgehen von Zwischenschichten, wenn das übergeordnete Objekt das oberste untergeordnete Objekt bereits kennt. ` childAt()` wird für den Hit-Test (das Auffinden des Objekts unter der Maus) verwendet.
Die Funktion „ relations()“ liefert Informationen über die Beziehungen, die ein Objekt zu anderen Objekten unterhält, und die Funktionen „ parent()“ sowie „ child()“ ermöglichen das Durchlaufen von einem Objekt zum nächsten.
Eigenschaften
Die zentrale Eigenschaft eines barrierefreien Objekts ist seine Rolle ( role()). Verschiedene Objekte können dieselbe Rolle haben, z. B. haben sowohl das Element „Zeile hinzufügen“ in einer Bildlaufleiste als auch die Schaltfläche „ OK “ in einem Dialogfeld dieselbe Rolle: „Schaltfläche“. Die Rolle gibt an, welche Art von Interaktion der Benutzer mit dem Element der Benutzeroberfläche durchführen kann.
Die Eigenschaft „ state()“ eines Objekts ist eine Kombination aus verschiedenen Statusflags und kann sowohl beschreiben, inwiefern sich der Zustand des Objekts von einem „normalen“ Zustand unterscheidet – z. B. könnte es nicht verfügbar sein –, als auch, wie es sich verhält – z. B. könnte es auswählbar sein.
Die Eigenschaft „ text()“ liefert textuelle Informationen über das Objekt. Ein Objekt hat in der Regel einen Namen, kann aber auch erweiterte Informationen wie eine Beschreibung, einen Hilfetext oder Angaben zu den verfügbaren Tastaturkürzeln bereitstellen. Bei einigen Objekten lässt sich die Eigenschaft „ text()“ über die Funktion „ setText()“ ändern, doch diese Informationen sind in den meisten Fällen schreibgeschützt.
Die Eigenschaft „ rect()“ liefert Informationen über die Geometrie eines barrierefreien Objekts. Diese Informationen sind in der Regel nur für visuelle Objekte verfügbar.
Schnittstellen
Damit der Benutzer mit einem barrierefreien Objekt interagieren kann, muss das Objekt zusätzlich zu `QAccessibleInterface` auch ` QAccessibleActionInterface ` implementieren. Objekte, die Auswahlen unterstützen, können Aktionen zum Ändern der Auswahl definieren.
Es gibt mehrere weitere Schnittstellen, die je nach Bedarf implementiert werden sollten. „ QAccessibleTextInterface “ sollte für größere Textbearbeitungsfelder wie Dokumentansichten verwendet werden. Diese Schnittstelle sollte nicht für Beschriftungen oder einzeilige Eingabefelder implementiert werden.
Für Schieberegler, Bildlaufleisten und andere numerische Wertauswahlelemente sollte „ QAccessibleValueInterface “ implementiert werden.
Listen, Tabellen und Baumstrukturen sollten „ QAccessibleTableInterface “ implementieren.
Scrollbare Ansichten sollten „ QAccessibleViewportInterface “ implementieren.
Siehe auch QAccessible, QAccessibleActionInterface, QAccessibleTextInterface, QAccessibleValueInterface, QAccessibleTableInterface und QAccessibleViewportInterface.
Dokumentation zu den Member-Funktionen
[constexpr noexcept protected default] QAccessibleInterface::QAccessibleInterface()
Erstellt standardmäßig eine Instanz von ` QAccessibleInterface`.
[virtual noexcept protected] QAccessibleInterface::~QAccessibleInterface()
Zerstört das „ QAccessibleInterface “.
QAccessibleActionInterface *QAccessibleInterface::actionInterface()
[virtual] QColor QAccessibleInterface::backgroundColor() const
Gibt gegebenenfalls die Hintergrundfarbe des „accessible“-Elements zurück oder einen ungültigen „ QColor “-Wert.
Siehe auch ` foregroundColor()`.
[pure virtual] QAccessibleInterface *QAccessibleInterface::child(int index) const
Gibt das zugängliche untergeordnete Objekt mit dem Index „ index “ zurück. Der Index beginnt bei 0. Die Anzahl der untergeordneten Objekte eines Objekts kann mit „ childCount “ überprüft werden.
Gibt „ nullptr “ zurück, wenn ein ungültiges untergeordnetes Element abgefragt wird (z. B. wenn das untergeordnete Element inzwischen ungültig geworden ist).
Siehe auch „ childCount()“ und „ parent()“.
[pure virtual] QAccessibleInterface *QAccessibleInterface::childAt(int x, int y) const
Gibt das „ QAccessibleInterface “ eines untergeordneten Elements zurück, das die Bildschirmkoordinaten enthält (x, y). Wenn an dieser Position keine untergeordneten Elemente vorhanden sind, gibt diese Funktion „ nullptr “ zurück. Das zurückgegebene „ “ muss ein untergeordnetes Element sein, jedoch nicht unbedingt ein direktes untergeordnetes Element.
Diese Funktion ist nur für sichtbare Objekte zuverlässig (unsichtbare Objekte werden möglicherweise nicht korrekt angeordnet).
Alle visuellen Objekte stellen diese Informationen bereit.
Für Objekte, die von ` QAccessibleObject` erben, wird eine Standardimplementierung bereitgestellt. Diese durchläuft alle untergeordneten Elemente. Wenn das Widget seine untergeordneten Elemente verwaltet (z. B. eine Tabelle), ist es effizienter, eine spezialisierte Implementierung zu schreiben.
Siehe auch ` rect()` ().
[pure virtual] int QAccessibleInterface::childCount() const
Gibt die Anzahl der untergeordneten Elemente zurück, die zu diesem Objekt gehören. Ein untergeordnetes Element kann selbst Barrierefreiheitsinformationen bereitstellen (z. B. ein untergeordnetes Widget) oder ein Unterelement dieses barrierefreien Objekts sein.
Alle Objekte stellen diese Informationen bereit.
Siehe auch ` indexOfChild()`.
[virtual] QAccessibleInterface *QAccessibleInterface::focusChild() const
Gibt das Objekt zurück, das den Tastaturfokus besitzt.
Das zurückgegebene Objekt kann ein beliebiger Nachkomme sein, einschließlich des Objekts selbst.
[virtual] QColor QAccessibleInterface::foregroundColor() const
Gibt gegebenenfalls die Vordergrundfarbe des „accessible“-Objekts zurück oder einen ungültigen Wert vom Typ „ QColor “.
Siehe auch ` backgroundColor()`.
[pure virtual] int QAccessibleInterface::indexOfChild(const QAccessibleInterface *child) const
Gibt den 0-basierten Index des Objekts „ child “ in der Unterobjektliste dieses Objekts zurück oder -1, wenn „ child “ kein Unterobjekt dieses Objekts ist.
Alle Objekte stellen diese Informationen über ihre untergeordneten Elemente bereit.
Siehe auch ` childCount()`.
[virtual] void *QAccessibleInterface::interface_cast(QAccessible::InterfaceType type)
Gibt eine spezialisierte Barrierefreiheitsschnittstelle „ type “ aus der generischen Schnittstelle „ QAccessibleInterface “ zurück.
Diese Funktion muss neu implementiert werden, wenn über die spezialisierten Schnittstellen weitere Informationen zu einem Widget oder Objekt bereitgestellt werden sollen. Beispielsweise sollte ein Zeileneingabefeld die Schnittstelle ` QAccessibleTextInterface` implementieren.
Siehe auch „ QAccessible::InterfaceType“ , „ QAccessibleTextInterface “, „ QAccessibleValueInterface “, „ QAccessibleActionInterface “, „ QAccessibleTableInterface “, „ QAccessibleTableCellInterface “ und „ QAccessibleViewportInterface “.
[pure virtual] bool QAccessibleInterface::isValid() const
Gibt „ true “ zurück, wenn alle für die Verwendung dieser Schnittstellenimplementierung erforderlichen Daten gültig sind (z. B. sind alle Zeiger nicht null); andernfalls wird „ false “ zurückgegeben.
Siehe auch object().
[pure virtual] QObject *QAccessibleInterface::object() const
Gibt einen Zeiger auf die ` QObject ` zurück, für die diese Schnittstellenimplementierung Informationen bereitstellt.
Siehe auch ` isValid()`.
[pure virtual] QAccessibleInterface *QAccessibleInterface::parent() const
Gibt den „ QAccessibleInterface “ des übergeordneten Objekts in der zugänglichen Objekthierarchie zurück.
Gibt „ nullptr “ zurück, wenn kein übergeordnetes Objekt vorhanden ist (z. B. beim Anwendungsobjekt der obersten Ebene).
Siehe auch child().
[pure virtual] QRect QAccessibleInterface::rect() const
Gibt die Geometrie des Objekts zurück. Die Geometrie wird in Bildschirmkoordinaten angegeben.
Diese Funktion ist nur für sichtbare Objekte zuverlässig (unsichtbare Objekte werden möglicherweise nicht korrekt dargestellt).
Alle visuellen Objekte stellen diese Informationen bereit.
Siehe auch ` childAt()`.
[virtual] QList<std::pair<QAccessibleInterface *, QAccessible::Relation>> QAccessibleInterface::relations(QAccessible::Relation match = QAccessible::AllRelations) const
Gibt die aussagekräftigen Beziehungen zu anderen Widgets zurück. In der Regel werden dabei keine Eltern-Kind-Beziehungen zurückgegeben, es sei denn, diese werden auf besondere Weise behandelt, wie beispielsweise in Baumansichten. Typischerweise werden die Beziehungen „labelled-by“ und „label“ zurückgegeben.
Es ist möglich, die Beziehungen mithilfe des optionalen Parameters ` match` zu filtern. Die Funktion sollte niemals sich selbst zurückgeben.
Siehe auch „ parent()“ und „ child()“.
[pure virtual] QAccessible::Role QAccessibleInterface::role() const
Gibt die Rolle des Objekts zurück. Die Rolle eines Objekts ist in der Regel statisch.
Alle zugänglichen Objekte haben eine Rolle.
Siehe auch „ text()“ und „ state()“.
[since 6.5] QAccessibleSelectionInterface *QAccessibleInterface::selectionInterface()
Diese Funktion wurde in Qt 6.5 eingeführt.
[pure virtual] void QAccessibleInterface::setText(QAccessible::Text t, const QString &text)
Setzt die Texteigenschaft „ t “ des Objekts auf „ text “.
Beachten Sie, dass die Texteigenschaften der meisten Objekte schreibgeschützt sind, sodass der Aufruf dieser Funktion möglicherweise keine Auswirkungen hat.
Siehe auch text().
[pure virtual] QAccessible::State QAccessibleInterface::state() const
Gibt den aktuellen Zustand des Objekts zurück. Der zurückgegebene Wert ist eine Kombination der Flags aus der Aufzählung „QAccessible::StateFlag“.
Alle barrierefreien Objekte haben einen Zustand.
Siehe auch „ text()“ und „ role()“.
QAccessibleTableCellInterface *QAccessibleInterface::tableCellInterface()
QAccessibleTableInterface *QAccessibleInterface::tableInterface()
[pure virtual] QString QAccessibleInterface::text(QAccessible::Text t) const
Gibt den Wert der Texteigenschaft „ t “ des Objekts zurück.
Die „ QAccessible::Name “ ist eine Zeichenfolge, die von Clients verwendet wird, um ein barrierefreies Objekt für den Benutzer zu identifizieren, zu finden oder anzukündigen. Alle Objekte müssen einen Namen haben, der innerhalb ihres Containers eindeutig ist. Da der Name von Clients unterschiedlich verwendet werden kann, sollte er sowohl eine kurze Beschreibung des Objekts liefern als auch eindeutig sein.
Die Eigenschaft „ QAccessible::Description “ eines barrierefreien Objekts liefert textuelle Informationen über das visuelle Erscheinungsbild eines Objekts. Die Beschreibung dient in erster Linie dazu, sehbehinderten Nutzern einen besseren Kontext zu vermitteln, wird aber auch für die Kontextsuche oder andere Anwendungen genutzt. Nicht alle Objekte verfügen über eine Beschreibung. Eine „OK“-Schaltfläche benötigt keine Beschreibung, eine Werkzeugschaltfläche, die ein Smiley-Bild anzeigt, hingegen schon.
Der Wert („ QAccessible::Value “) eines barrierefreien Objekts stellt die visuellen Informationen dar, die das Objekt enthält, z. B. den Text in einem Zeilenbearbeitungsfeld. In der Regel kann der Wert vom Nutzer geändert werden. Nicht alle Objekte haben einen Wert, z. B. statische Textbeschriftungen nicht, und bei einigen Objekten ist der Status bereits der Wert, z. B. bei Umschalt-Schaltflächen.
Der „ QAccessible::Help “-Text liefert Informationen über die Funktion und Verwendung eines barrierefreien Objekts. Nicht alle Objekte stellen diese Informationen bereit.
Die „ QAccessible::Accelerator “ ist eine Tastenkombination, die die Standardaktion des Objekts auslöst. Ein Tastaturkürzel ist das unterstrichene Zeichen im Text eines Menüs, Menüpunkts oder Widgets und besteht entweder aus dem Zeichen selbst oder aus einer Kombination dieses Zeichens mit einer Modifikatortaste wie Alt, Strg oder Umschalt. Befehlssteuerelemente wie Werkzeugschaltflächen verfügen ebenfalls über Tastaturkürzel und zeigen diese in der Regel in ihrem Tooltip an.
Die „ QAccessible::Identifier “ kann explizit festgelegt werden, um Hilfstechnologien eine ID bereitzustellen. Dies kann insbesondere für UI-Tests nützlich sein. Wenn kein Bezeichner explizit festgelegt wurde, wird der Bezeichner von der jeweiligen Schnittstelle auf eine ID gesetzt, die auf „ QObject::objectName “ oder deren Klassennamen sowie auf „ QObject::objectName “ oder den Klassennamen der übergeordneten Elemente in der Elternkette basiert.
Alle Objekte stellen eine Zeichenkette für ` QAccessible::Name` bereit.
Siehe auch setText(), role() und state().
QAccessibleTextInterface *QAccessibleInterface::textInterface()
QAccessibleValueInterface *QAccessibleInterface::valueInterface()
[since 6.12] QAccessibleViewportInterface *QAccessibleInterface::viewportInterface()
Diese Funktion wurde in Qt 6.12 eingeführt.
[virtual] QWindow *QAccessibleInterface::window() const
Gibt das mit dem zugrunde liegenden Objekt verknüpfte Fenster zurück. Beispielsweise implementiert „ QAccessibleWidget “ diese Funktion neu und gibt die „windowHandle()“-Methode von „ QWidget “ zurück.
Dies wird auf einigen Plattformen verwendet, um den AT-Client über Zustandsänderungen zu benachrichtigen. Das Backend durchläuft alle übergeordneten Elemente nach oben, bis es ein Fenster findet. (Das bedeutet, dass mindestens eine Schnittstelle unter den übergeordneten Elementen einen gültigen Zeiger auf „ QWindow “ zurückgeben sollte).
Die Standardimplementierung gibt ` nullptr` zurück.
© 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.