Barrierefreiheit für „ Qt Quick “-Anwendungen
Einführung
Auf dieser Seite wird erläutert, wie Sie Barrierefreiheits-Metadaten zu „ Qt Quick “-Anwendungen hinzufügen können. „ Qt Quick “-Anwendungen und viele ihrer QML-Typen verfügen bereits über integrierte Barrierefreiheitsfunktionen. Beispielsweise sind die Schaltflächen-Steuerelemente über die Tastatur bedienbar, sodass Sie mit der Tabulatortaste zwischen den Steuerelementen wechseln und diese mit der Return- oder Enter-Taste aktivieren können. Durch die Verwendung bestehender Steuerelemente haben Sie also bereits einen guten Start, um Ihre „ Qt Quick “-Anwendung barrierefrei zu gestalten. In einigen Fällen kann es jedoch erforderlich sein, die Funktion eines QML-Elements zu präzisieren.
Ähnlich wie bei der Barrierefreiheit von Webanwendungen weisen Sie UI-Elementen – in diesem Fall QML-Elementen – Eigenschaften zu. Diese Eigenschaften stellen Metadaten für Barrierefreiheits-Tools bereit, die zusammen mit sorgfältig ausgewählten kontrastreichen Farbschemata und anderen visuellen Hinweisen den Benutzer bei der Interaktion mit Ihrer „ Qt Quick “-Anwendung unterstützen.
Im Allgemeinen sind Barrierefreiheits-Tools an drei verschiedenen Kategorien von Metadaten interessiert:
- Eigenschaften: Der Barrierefreiheits-Client liest Metadaten über barrierefreie Objekte aus. In einigen Fällen kann der Barrierefreiheits-Client diese Eigenschaften auch ändern, beispielsweise den Text in einem Zeileneingabefeld.
- Aktionen: Der Barrierefreiheits-Client löst Aktionen aus, wie zum Beispiel das Drücken einer Schaltfläche.
- Beziehungen und Navigation: Der Barrierefreiheits-Client wechselt mithilfe der Beziehungen zwischen Objekten von einem barrierefreien Objekt zum nächsten.
Bei „ Qt Quick “-Anwendungen ist der wichtigste zu beachtende Typ der QML-Typ „ Accessible “, der QML-Elementen Barrierefreiheits-Metadaten hinzufügt.
Hinzufügen von Barrierefreiheits-Metadaten zu QML-Elementen
Um QML-Elementen Barrierefreiheits-Metadaten hinzuzufügen – sei es zu bestehenden, von Qt bereitgestellten Typen oder zu benutzerdefinierten, in C++ definierten Typen –, verwenden Sie den QML-Typ ` Accessible `. Die wichtigsten Eigenschaften des QML-Typs ` Accessible ` sind ` name`, ` description` und ` role`.
Hier ist ein Beispiel für das Hinzufügen von Barrierefreiheits-Metadaten zu einem „ Text “-Typ, der in diesem Fall eine mathematische Gleichung darstellt:
Text {
id: myMathEquation
text: "y = 8x - 9"
font.family: "Helvetica"
Accessible.role: Accessible.Equation
Accessible.name: myMathEquation.text
Accessible.description: qsTr("Linear equation")
Accessible.onPressAction: {
// Highlight the x variable
...
}
}Der „ role “ ist auf „ Equation “ gesetzt, um anzugeben, was der Typ „ Text “ darstellt. „ name “ ist die wichtigste Eigenschaft, die an den Text der Schaltfläche gebunden ist. Um zusätzliche Informationen zu einem QML-Element bereitzustellen, verwenden Sie die Eigenschaft „ description “. Der Signal-Handler „ Accessible.pressAction “, der von Barrierefreiheits-Tools aufgerufen werden kann, um die Schaltfläche auszulösen, muss denselben Effekt haben wie das Antippen oder Anklicken des Textes.
Während Textinhalte von Natur aus barrierefrei sind, gilt dies nicht für Multimedia-Inhalte. Daher ist es wichtig, Multimedia-Inhalte wie Bilder, Videos und Audiodateien mit den erforderlichen Barrierefreiheits-Metadaten zu versehen. Hier ist ein Beispiel für die Bereitstellung von Barrierefreiheits-Metadaten für ein Bild, das ein Kreisdiagramm darstellt:
Image {
source: "pie-chart-683.png"
Accessible.role: Accessible.Chart
Accessible.name: qsTr("Pie chart")
Accessible.description: qsTr("Pie chart that shows the distribution
of sales from three store locations: Durban representing 60 percent,
Johannesburg 20 percent, and Cape Town 20 percent")
Accessible.onPressAction: {
// Expand the image
...
}
}Weitere Informationen finden Sie unter Accessible, wo Sie eine Liste der Eigenschaften finden, die Sie QML-Elementen hinzufügen können.
Verwandte Klassen und Schnittstellen
© 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.