QAccessibleInterface Class

Die Klasse QAccessibleInterface definiert eine Schnittstelle, die Informationen über zugängliche Objekte bereitstellt. Mehr...

Kopfzeile: #include <QAccessibleInterface>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Vererbt von:

QAccessibleObject

Ö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<QPair<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()
virtual QWindow *window() const

Geschützte Funktionen

Detaillierte Beschreibung

Diese Klasse ist Teil von Accessibility for QWidget Applications.

Barrierefreie Werkzeuge (auch AT-Clients genannt), wie z.B. Screenreader oder Braillezeilen, benötigen High-Level-Informationen über barrierefreie Objekte in einer Anwendung. Barrierefreie Objekte bieten spezielle Eingabe- und Ausgabemethoden, die es dem Benutzer ermöglichen, barrierefreie Werkzeuge mit aktivierten Anwendungen (AT-Servern) zu verwenden.

Jedes Element, mit dem der Benutzer interagieren oder auf das er reagieren muss, ist ein zugängliches Objekt und sollte diese Informationen bereitstellen. Dabei handelt es sich hauptsächlich um visuelle Objekte, wie Widgets und Widget-Elemente, aber auch um Inhalte, wie z. B. Sounds.

Der AT-Client verwendet drei grundlegende Konzepte, um Informationen über jedes zugängliche Objekt in einer Anwendung zu erhalten:

  • Eigenschaften Der Client kann Informationen über zugängliche Objekte lesen. In einigen Fällen kann der Client diese Eigenschaften auch ändern, z. B. Text in einer Bearbeitungszeile.
  • Aktionen Der Client kann Aktionen wie das Drücken einer Schaltfläche oder .
  • Beziehungen und Navigation Der Client kann sich von einem zugänglichen Objekt zu einem anderen bewegen, indem er die Beziehungen zwischen den Objekten nutzt.

Das QAccessibleInterface definiert die API für diese drei Konzepte.

Beziehungen und Navigation

Die Funktionen childCount() und indexOfChild() geben die Anzahl der Kinder eines zugänglichen Objekts und den Index zurück, den ein Kindobjekt in seinem Elternobjekt hat. Die Funktion childAt() gibt ein untergeordnetes QAccessibleInterface zurück, das an einer Position gefunden wurde. Das Kind muss kein direktes Kind sein. So können Zwischenschichten umgangen werden, wenn der Elternteil das oberste Kind bereits kennt. childAt() wird für die Trefferprüfung (Auffinden des Objekts unter der Maus) verwendet.

Die Funktion relations() liefert Informationen über die Beziehungen eines Objekts zu anderen Objekten, und parent() und child() ermöglichen den Übergang von einem Objekt zu einem anderen Objekt.

Eigenschaften

Die zentrale Eigenschaft eines zugänglichen Objekts ist, welche role() es hat. Verschiedene Objekte können die gleiche Rolle haben, z. B. haben sowohl das Element "Zeile hinzufügen" in einer Bildlaufleiste als auch die Schaltfläche OK in einem Dialog dieselbe Rolle, nämlich "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 verschiedener Zustandsflags und kann sowohl beschreiben, wie sich der Zustand des Objekts von einem "normalen" Zustand unterscheidet, z. B. dass es nicht verfügbar ist, als auch wie es sich verhält, z. B. dass es auswählbar ist.

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 Informationen über etwaige Tastaturbeschleuniger, die es bietet, enthalten. Bei einigen Objekten kann die Eigenschaft text() über die Funktion setText() geändert werden, aber diese Informationen sind in den meisten Fällen schreibgeschützt.

Die Eigenschaft rect() liefert Informationen über die Geometrie eines zugänglichen Objekts. Diese Informationen sind normalerweise nur für visuelle Objekte verfügbar.

Schnittstellen

Um dem Benutzer die Interaktion mit einem zugänglichen Objekt zu ermöglichen, muss das Objekt zusätzlich zu QAccessibleInterface QAccessibleActionInterface implementieren. Objekte, die Selektionen unterstützen, können Aktionen definieren, um die Auswahl zu ändern.

Es gibt mehrere andere Schnittstellen, die je nach Bedarf implementiert werden sollten. QAccessibleTextInterface sollte für größere Textbearbeitungen wie Dokumentenansichten verwendet werden. Diese Schnittstelle sollte nicht für Labels/Einzelzeilenbearbeitungen implementiert werden.

Für Schieberegler, Scrollbars und andere numerische Selektoren sollte QAccessibleValueInterface implementiert werden.

Listen, Tabellen und Bäume sollten QAccessibleTableInterface implementieren.

Siehe auch QAccessible, QAccessibleActionInterface, QAccessibleTextInterface, QAccessibleValueInterface, und QAccessibleTableInterface.

Dokumentation der Mitgliedsfunktionen

[virtual noexcept protected] QAccessibleInterface::~QAccessibleInterface()

Zerstört die QAccessibleInterface.

QAccessibleActionInterface *QAccessibleInterface::actionInterface()

[virtual] QColor QAccessibleInterface::backgroundColor() const

Gibt die Hintergrundfarbe des Zugriffs zurück, falls zutreffend, oder eine ungültige QColor.

Siehe auch foregroundColor().

[pure virtual] QAccessibleInterface *QAccessibleInterface::child(int index) const

Gibt das zugängliche Kind mit dem Index index zurück. 0-basierter Index. Die Anzahl der Kinder eines Objekts kann mit childCount überprüft werden.

Gibt nullptr zurück, wenn nach einem ungültigen Kind gefragt wird (z. B. wenn das Kind in der Zwischenzeit ungültig wurde).

Siehe auch childCount() und parent().

[pure virtual] QAccessibleInterface *QAccessibleInterface::childAt(int x, int y) const

Gibt die QAccessibleInterface eines Kinds zurück, das die Bildschirmkoordinaten (x, y) enthält. Wenn es an dieser Position keine untergeordneten Elemente gibt, gibt diese Funktion nullptr zurück. Der zurückgegebene Zugriff muss ein Kindobjekt sein, aber nicht unbedingt ein direktes Kindobjekt.

Diese Funktion ist nur für sichtbare Objekte zuverlässig (unsichtbare Objekte werden möglicherweise nicht korrekt angeordnet).

Alle sichtbaren Objekte liefern diese Informationen.

Eine Standardimplementierung wird für Objekte bereitgestellt, die QAccessibleObject erben. Dies wird über alle Kinder iterieren. Wenn das Widget seine Kinder verwaltet (z. B. eine Tabelle), ist es effizienter, eine spezielle Implementierung zu schreiben.

Siehe auch rect().

[pure virtual] int QAccessibleInterface::childCount() const

Gibt die Anzahl der Kinder zurück, die zu diesem Objekt gehören. Ein untergeordnetes Objekt kann selbständig Informationen über die Zugänglichkeit liefern (z. B. ein untergeordnetes Widget) oder ein Unterelement dieses zugänglichen Objekts sein.

Alle Objekte stellen diese Informationen zur Verfügung.

Siehe auch indexOfChild().

[virtual] QAccessibleInterface *QAccessibleInterface::focusChild() const

Gibt das Objekt zurück, das den Tastaturfokus hat.

Das zurückgegebene Objekt kann ein beliebiger Nachkomme sein, einschließlich seiner selbst.

[virtual] QColor QAccessibleInterface::foregroundColor() const

Gibt die Vordergrundfarbe des Zugriffs zurück, falls zutreffend, oder eine ungültige QColor.

Siehe auch backgroundColor().

[pure virtual] int QAccessibleInterface::indexOfChild(const QAccessibleInterface *child) const

Gibt den auf 0 basierenden Index des Objekts child in der Kinderliste dieses Objekts zurück, oder -1, wenn child kein Kind dieses Objekts ist.

Alle Objekte liefern diese Informationen über ihre Kinder.

Siehe auch childCount().

[virtual] void *QAccessibleInterface::interface_cast(QAccessible::InterfaceType type)

Gibt eine spezialisierte Zugänglichkeitsschnittstelle type aus der generischen QAccessibleInterface zurück.

Diese Funktion muss neu implementiert werden, wenn weitere Informationen über ein Widget oder ein Objekt über die spezialisierten Schnittstellen bereitgestellt werden. Zum Beispiel sollte eine Zeilenbearbeitung die QAccessibleTextInterface implementieren.

Siehe auch QAccessible::InterfaceType, QAccessibleTextInterface, QAccessibleValueInterface, QAccessibleActionInterface, QAccessibleTableInterface, und QAccessibleTableCellInterface.

[pure virtual] bool QAccessibleInterface::isValid() const

Gibt true zurück, wenn alle zur Verwendung dieser Schnittstellenimplementierung erforderlichen Daten gültig sind (z. B. alle Zeiger sind 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 die QAccessibleInterface des übergeordneten Objekts in der Hierarchie der zugänglichen Objekte zurück.

Gibt nullptr zurück, wenn kein übergeordnetes Objekt existiert (z. B. für das 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 sichtbaren Objekte liefern diese Informationen.

Siehe auch childAt().

[virtual] QList<QPair<QAccessibleInterface *, QAccessible::Relation>> QAccessibleInterface::relations(QAccessible::Relation match = QAccessible::AllRelations) const

Gibt die sinnvollen Beziehungen zu anderen Widgets zurück. Normalerweise werden keine Eltern/Kind-Beziehungen zurückgegeben, es sei denn, sie werden auf eine bestimmte Weise gehandhabt, wie z. B. in Baumansichten. Normalerweise werden die Beziehungen labelled-by und label zurückgegeben.

Es ist möglich, die Beziehungen mit Hilfe des optionalen Parameters match zu filtern. Er 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 normalerweise 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, so dass der Aufruf dieser Funktion möglicherweise keine Wirkung 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 aus den Flags in der Aufzählung QAccessible::StateFlag.

Alle zugänglichen 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 Zeichenkette, die von Clients verwendet wird, um ein zugängliches Objekt zu identifizieren, zu finden oder für den Benutzer anzukündigen. Alle Objekte müssen einen Namen haben, der innerhalb ihres Containers eindeutig ist. Der Name kann von den Clients unterschiedlich verwendet werden, daher sollte der Name sowohl eine kurze Beschreibung des Objekts enthalten als auch eindeutig sein.

Die QAccessible::Description eines zugänglichen Objekts bietet Textinformationen über das visuelle Erscheinungsbild eines Objekts. Die Beschreibung dient in erster Linie dazu, sehbehinderten Benutzern mehr Kontext zu bieten, wird aber auch für die Kontextsuche oder andere Anwendungen verwendet. Nicht alle Objekte haben eine Beschreibung. Eine "OK"-Schaltfläche bräuchte keine Beschreibung, eine Werkzeugschaltfläche, die ein Bild eines Smileys zeigt, hingegen schon.

Die QAccessible::Value eines zugänglichen Objekts stellt visuelle Informationen dar, die das Objekt enthält, z. B. den Text in einer Zeilenbearbeitung. Normalerweise kann der Wert vom Benutzer geändert werden. Nicht alle Objekte haben einen Wert, z. B. statische Textbeschriftungen nicht, und einige Objekte haben einen Zustand, der bereits der Wert ist, z. B. Umschalttasten.

Der Text QAccessible::Help liefert Informationen über die Funktion und Verwendung eines zugänglichen Objekts. Nicht alle Objekte bieten diese Informationen.

QAccessible::Accelerator ist ein Tastaturkürzel, mit dem die Standardaktion des Objekts aktiviert wird. Ein Tastaturkürzel ist das unterstrichene Zeichen im Text eines Menüs, Menüeintrags oder Widgets und besteht entweder aus dem Zeichen selbst oder einer Kombination aus diesem Zeichen und einer Modifikatortaste wie Alt, Strg oder Umschalt. Befehlssteuerungen wie Werkzeugschaltflächen verfügen ebenfalls über Tastenkombinationen und zeigen diese in der Regel in ihrem Tooltip an.

Die QAccessible::Identifier kann explizit so eingestellt werden, dass sie eine ID für assistive Technologien bereitstellt. Dies kann besonders 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 seinem Klassennamen und QObject::objectName oder dem Klassennamen der Eltern in seiner Elternkette basiert.

Alle Objekte liefern einen String für QAccessible::Name.

Siehe auch setText(), role(), und state().

QAccessibleTextInterface *QAccessibleInterface::textInterface()

QAccessibleValueInterface *QAccessibleInterface::valueInterface()

[virtual] QWindow *QAccessibleInterface::window() const

Gibt das mit dem zugrunde liegenden Objekt verbundene Fenster zurück. Zum Beispiel implementiert QAccessibleWidget dies neu und gibt das windowHandle() des QWidget zurück.

Es wird auf einigen Plattformen verwendet, um den AT-Client über Zustandsänderungen zu informieren. Das Backend wird alle Vorfahren durchlaufen, bis es ein Fenster findet. (Das bedeutet, dass mindestens eine Schnittstelle unter den Vorgängern einen gültigen QWindow Zeiger zurückgeben sollte).

Die Standardimplementierung gibt nullptr zurück.

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