Ü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