Übersicht über die Benutzeroberflächenautomatisierung
Hinweis
Diese Dokumentation ist für .NET Framework-Entwickler konzipiert, die die verwalteten Klassen zur Automatisierung der Benutzeroberfläche verwenden möchten, die im Namespace System.Windows.Automation definiert sind. Aktuelle Informationen zur Automatisierung der Benutzeroberfläche finden Sie auf der Seite zur Windows-Automatisierungs-API: Benutzeroberflächenautomatisierung.
Die Benutzeroberflächenautomatisierung von Microsoft ist das neue Framework für die Barrierefreiheit für Microsoft Windows, das für alle Betriebssysteme verfügbar ist, die Windows Presentation Foundation (WPF) unterstützen.
Die Benutzeroberflächenautomatisierung stellt programmgesteuerten Zugriff auf die meisten Elemente der Benutzeroberfläche auf dem Desktop zur Verfügung, sodass Hilfstechnologieprodukte wie die Sprachausgabe Informationen zur Benutzeroberfläche für die Endbenutzer*innen bereitstellen und die Benutzeroberfläche mit anderen Verfahren als Standardeingaben ändern können. Die Benutzeroberflächenautomatisierung ermöglicht außerdem die Interaktion von automatisierten Testskripts mit der Benutzeroberfläche.
Hinweis
Die Benutzeroberflächenautomatisierung ermöglicht keine Kommunikation zwischen Prozessen, die von anderen Benutzer*innen mit dem Befehl Ausführen als gestartet werden.
Benutzeroberflächenautomatisierungs-Clientanwendungen können mit der Gewissheit geschrieben werden, dass sie mit verschiedenen Frameworks funktionieren. Der Kern der Benutzeroberflächenautomatisierung maskiert alle Unterschiede in den Frameworks, die den verschiedenen Komponenten der Benutzeroberfläche zugrunde liegen. Beispielsweise sind die Content
-Eigenschaft einer WPF-Schaltfläche, die Caption
-Eigenschaft einer Win32-Schaltfläche und die ALT
-Eigenschaft eines HTML-Bilds alle nur einer einzelnen Eigenschaft (Name) in der Ansicht „Benutzeroberflächenautomatisierung“ zugewiesen.
Die Benutzeroberflächenautomatisierung bietet die gesamte Funktionalität für unterstützte Windows-Betriebssysteme, auf denen .NET Framework (siehe Systemanforderungen für .NET Framework) oder Versionen von .NET Core ab .NET Core 3.0 ausgeführt werden.
Anbieter der Benutzeroberflächenautomatisierung bieten durch einen integrierten Überbrückungsdienst Unterstützung für Clientanwendungen in Microsoft Active Accessibility.
Anbieter und Clients
Die Benutzeroberflächenautomatisierung verfügt über vier Hauptkomponenten, die in der folgenden Tabelle aufgeführt werden:
Komponente | Beschreibung |
---|---|
Anbieter-API (UIAutomationProvider.dll and UIAutomationTypes.dll) | Eine Reihe von Schnittstellendefinitionen, die von Anbietern der Benutzeroberflächenautomatisierung implementiert werden, sowie Objekte, die Informationen über Benutzeroberflächenelemente bereitstellen und auf Programmeingaben reagieren. |
Client-API (UIAutomationClient.dll und UIAutomationTypes.dll) | Eine Reihe von Typen für verwalteten Code, die es Clientanwendungen der Benutzeroberflächenautomatisierung ermöglichen, Informationen über die Benutzeroberfläche abzurufen und Eingaben an Steuerelemente zu senden. |
UiAutomationCore.dll | Der zugrunde liegende Code (auch als Kern der Benutzeroberflächenautomatisierung bezeichnet), der die Kommunikation zwischen Anbietern und Clients verwaltet. |
UIAutomationClientsideProviders.dll | Ein Satz von Benutzeroberflächenautomatisierungs-Anbietern für Standard-Legacysteuerelemente. (WPF-Steuerelemente verfügen über native Unterstützung für die Benutzeroberflächenautomatisierung.) Diese Unterstützung steht Clientanwendungen automatisch zur Verfügung. |
Aus Sicht von Softwareentwickler*innen gibt es zwei Möglichkeiten zur Nutzung der Benutzeroberflächenautomatisierung: zum Erstellen von Unterstützung für benutzerdefinierte Steuerelemente (über die Anbieter-API) sowie zum Erstellen von Anwendungen, die den Kern der Benutzeroberflächenautomatisierung für die Kommunikation mit Benutzeroberflächenelementen (über die Client-API) verwenden. Abhängig von Ihren Schwerpunkten sollten Sie auf verschiedene Teile der Dokumentation zugreifen. In den folgenden Abschnitten können Sie mehr über die Konzepte erfahren und sich praktisches Wissen aneignen.
`Section` | Inhalt | Zielgruppe |
---|---|---|
Grundlagen der Benutzeroberflächenautomatisierung (in diesem Abschnitt) | Allgemeine Übersichten über die Konzepte. | Alle. |
Benutzeroberflächenautomatisierungs-Anbieter für verwalteten Code | Übersichten und Hilfethemen zum Verwenden der Anbieter-API. | Entwickler von Steuerelementen. |
Benutzeroberflächenautomatisierungs-Clients für verwalteten Code | Übersichten und Hilfethemen zum Verwenden der Client-API. | Entwickler von Clientanwendungen. |
Steuerelementmuster für Benutzeroberflächenautomatisierung | Informationen zum Implementieren von Steuerelementmustern durch Anbieter und den Funktionalitäten, die Clients zur Verfügung stehen. | Alle. |
Textmuster zur Benutzeroberflächenautomatisierung | Informationen zum Implementieren des Text-Steuerelementmusters durch Anbieter und den Funktionalitäten, die Clients zur Verfügung stehen. | Alle. |
Steuerelementtypen der Benutzeroberflächenautomatisierung | Informationen über die Eigenschaften und Steuerelementmuster, die von verschiedenen Steuerelementtypen unterstützt werden. | Alle. |
In der folgenden Tabelle werden Namespaces für die Benutzeroberflächenautomatisierung, die DLLs, die sie enthalten, sowie ihre Zielgruppe aufgelistet.
Namespace | DLLs, auf die verwiesen wird | Zielgruppe |
---|---|---|
System.Windows.Automation | UIAutomationClientUIAutomationTypes | Cliententwickler*innen der Benutzeroberflächenautomatisierung. Wird für die Suche nach AutomationElement-Objekten, für die Registrierung bei Ereignissen der Benutzeroberflächenautomatisierung und für die Arbeit mit Steuerelementmustern für die Benutzeroberflächenautomatisierung verwendet. |
System.Windows.Automation.Provider | UIAutomationProviderUIAutomationTypes | Entwickler*innen von Anbietern der Benutzeroberflächenautomatisierung für andere Frameworks als WPF. |
System.Windows.Automation.Text | UIAutomationClientUIAutomationTypes | Entwickler*innen von Anbietern der Benutzeroberflächenautomatisierung für andere Frameworks als WPF. Wird zum Implementieren des TextPattern-Steuerelementmusters verwendet. |
System.Windows.Automation.Peers | PresentationFramework | Entwickler*innen von Anbietern der Benutzeroberflächenautomatisierung für WPF. |
Benutzeroberflächenautomatisierungs-Modell
Die Benutzeroberflächenautomatisierung macht alle Elemente der Benutzeroberfläche für Clientanwendungen als AutomationElement verfügbar. Elemente sind in einer Baumstruktur, mit dem Desktop als Stammelement, enthalten. Clients können die „Rohdatenansicht“ der Struktur als „Steuerelementansicht“ oder „Inhaltsansicht“ filtern. Anwendungen können auch benutzerdefinierte Ansichten erstellen.
AutomationElement-Objekte machen allgemeine Eigenschaften der von ihnen dargestellten Elemente der Benutzeroberfläche verfügbar. Eine dieser Eigenschaften ist der „Steuerelementtyp“, der die grundlegende Darstellung und Funktionalität als einzelne Entität definiert, z. B. als Schaltfläche oder Kontrollkästchen.
Darüber hinaus machen Elemente Steuerelementmuster verfügbar, die ihren Steuerelementtypen entsprechende Eigenschaften bereitstellen. Steuerelementmuster machen gleichzeitig Methoden verfügbar, die es Clients ermöglichen, weitere Informationen über das Element zu erlangen und Eingaben bereitzustellen.
Hinweis
Es gibt keine 1:1-Entsprechung zwischen Steuerelementtypen und Steuerelementmustern. Ein Steuerelementmuster kann von mehreren Steuerelementtypen unterstützt werden, und ein Steuerelement kann mehrere Steuerelementmuster unterstützen, von denen jedes einen anderen Aspekt des Verhaltens verfügbar macht. Ein Kombinationsfeld hat beispielsweise mindestens zwei Steuerelementmuster: eines mit der Fähigkeit zum Erweitern und Reduzieren und ein anderes, das den Auswahlmechanismus darstellt. Weitere Informationen finden Sie unter UI Automation Control Types.
Die Benutzeroberflächenautomatisierung stellt Clientanwendungen mithilfe von Ereignissen Informationen bereit. Im Gegensatz zu WinEvents basieren Ereignisse der Benutzeroberflächenautomatisierung nicht auf einem Übertragungsmechanismus. Clients der Benutzeroberflächenautomatisierung melden sich für bestimmte Ereignisbenachrichtigungen an und können anfordern, dass spezifische Eigenschaften der Benutzeroberflächenautomatisierung und Informationen zu Steuerelementmustern an die Ereignishandler übergeben werden. Außerdem enthält ein Ereignis der Benutzeroberflächenautomatisierung einen Verweis auf das Element, das es ausgelöst hat. Anbieter können die Leistung verbessern, indem sie Ereignisse selektiv abhängig davon auslösen, ob Clients zuhören.
Siehe auch
- Übersicht über die Benutzeroberflächenautomatisierungs-Struktur
- Übersicht über Steuerelementmuster für Benutzeroberflächenautomatisierung
- Übersicht über die Benutzeroberflächenautomatisierungs-Eigenschaften
- Übersicht über Benutzeroberflächenautomatisierungs-Ereignisse
- Übersicht über die Benutzeroberflächenautomatisierungs-Sicherheit