Freigeben über


Übersicht über die Benutzeroberflächenautomatisierung

Hinweis

Diese Dokumentation richtet sich an .NET Framework-Entwickler, die die verwalteten Benutzeroberflächenautomatisierungs-Klassen verwenden möchten, die im System.Windows.Automation-Namespace definiert sind. Die neuesten Informationen zur Benutzeroberflächenautomatisierung finden Sie unter Windows Automation API: Benutzeroberflächenautomatisierung.

Die Microsoft-Benutzeroberflächenautomatisierung ist das neue Barrierefreiheitsframework für Microsoft Windows, das auf allen Betriebssystemen verfügbar ist, die Windows Presentation Foundation (WPF) unterstützen.

Die UI-Automatisierung bietet programmgesteuerten Zugriff auf die meisten Benutzeroberflächenelemente auf dem Desktop, sodass Hilfstechnologien wie Screenreader Informationen über die Benutzeroberfläche für Endbenutzer bereitstellen und die Benutzeroberfläche auf andere Weise als durch Standardeingaben bearbeiten können. Die Benutzeroberflächenautomatisierung ermöglicht auch die Interaktion von automatisierten Testskripts mit der Benutzeroberfläche.

Hinweis

Die Benutzeroberflächenautomatisierung ermöglicht nicht die Kommunikation zwischen Prozessen, die von verschiedenen Benutzern über den Befehl "Ausführen" gestartet wurden.

Benutzeroberflächenautomatisierungs-Clientanwendungen können mit der Sicherheit geschrieben werden, dass sie an mehreren Frameworks arbeiten. Die Kernkomponente der Benutzeroberflächenautomatisierung maskiert alle Unterschiede in den Frameworks, die verschiedenen Teilen der Benutzeroberfläche zugrunde liegen. Beispielsweise werden die Content Eigenschaft einer WPF-Schaltfläche, die Caption Eigenschaft einer Win32-Schaltfläche und die ALT Eigenschaft eines HTML-Bilds einer einzelnen Eigenschaft in Nameder Benutzeroberflächenautomatisierungs-Ansicht zugeordnet.

Die Benutzeroberflächenautomatisierung bietet vollständige Funktionen auf unterstützten Windows-Betriebssystemen, auf denen .NET Framework ausgeführt wird (siehe .NET Framework-Systemanforderungen oder -Versionen von .NET Core ab .NET Core 3.0.

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, wie in der folgenden Tabelle dargestellt.

Komponente BESCHREIBUNG
Anbieter-API (UIAutomationProvider.dll und UIAutomationTypes.dll) Eine Reihe von Schnittstellendefinitionen, die von Benutzeroberflächenautomatisierungs-Anbietern implementiert werden, Objekte, die Informationen zu UI-Elementen bereitstellen und auf programmgesteuerte Eingaben reagieren.
Client-API (UIAutomationClient.dll und UIAutomationTypes.dll) Eine Reihe von Typen für verwalteten Code, mit denen Benutzeroberflächenautomatisierungs-Clientanwendungen Informationen zur Benutzeroberfläche abrufen und Eingaben an Steuerelemente senden können.
UiAutomationCore.dll Der zugrunde liegende Code (manchmal auch als Benutzeroberflächenautomatisierungskern bezeichnet), der die Kommunikation zwischen Anbietern und Clients verarbeitet.
UIAutomationClientsideProviders.dll Ein Satz von Benutzeroberflächenautomatisierungs-Anbietern für Standard-Legacysteuerelemente. (WPF-Steuerelemente unterstützen systemeigene Benutzeroberflächenautomatisierung.) Diese Unterstützung ist automatisch für Clientanwendungen verfügbar.

Aus Sicht des Softwareentwicklers gibt es zwei Möglichkeiten zur Verwendung der Benutzeroberflächenautomatisierung: Unterstützung für benutzerdefinierte Steuerelemente (mithilfe der Anbieter-API) zu erstellen und Anwendungen zu erstellen, die den Benutzeroberflächenautomatisierungskern verwenden, um mit UI-Elementen (mithilfe der Client-API) zu kommunizieren. Je nach Fokus sollten Sie sich auf verschiedene Teile der Dokumentation beziehen. In den folgenden Abschnitten erfahren Sie mehr über die Konzepte und erhalten praktische Kenntnisse.

`Section` Thema Publikum
Grundlagen der Benutzeroberflächenautomatisierung (dieser Abschnitt) Allgemeine Übersichten über die Konzepte. Alle.
Benutzeroberflächenautomatisierungsanbieter für verwalteten Code Übersichten und Anleitungen zur Verwendung der Anbieter-API. Steuerungsentwickler.
Benutzeroberflächenautomatisierungs-Clients für verwalteten Code Übersichten und Anleitungen zur Verwendung der Client-API. Clientanwendungsentwickler.
Automatisierungsmuster für Benutzeroberflächen Informationen dazu, wie Steuerelementmuster von Anbietern implementiert werden sollen und welche Funktionalität für Clients zur Verfügung steht. Alle.
Textmuster für die Benutzeroberflächenautomatisierung Informationen dazu, wie das Text-Steuerelementmuster von Anbietern implementiert werden soll und welche Funktionalität für Clients verfügbar ist. Alle.
Steuerelementtypen für die Benutzeroberflächenautomatisierung Informationen zu den Eigenschaften und Steuerelementmustern, die von verschiedenen Steuerelementtypen unterstützt werden. Alle.

In der folgenden Tabelle sind UI-Automatisierungsnamespaces, die DLLs, die sie enthalten, und die Benutzergruppe aufgeführt, die sie verwendet.

Namespace DLLs, auf die verwiesen wird Publikum
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 von Benutzeroberflächenautomatisierungs-Anbietern 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 von Benutzeroberflächenautomatisierungs-Anbietern für WPF.

Benutzeroberflächenautomatisierungsmodell

Die Benutzeroberflächenautomatisierung stellt jede Komponente der Benutzeroberfläche für Clientanwendungen als ein AutomationElement zur Verfügung. Elemente sind in einer Baumstruktur enthalten, wobei der Desktop das Stammelement ist. 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 ui-Elemente verfügbar, die sie darstellen. Eine dieser Eigenschaften ist der Steuerelementtyp, der seine grundlegende Darstellung und Funktionalität als einzelne erkennbare Entität definiert, z. B. eine Schaltfläche oder ein Kontrollkästchen.

Darüber hinaus machen Elemente Steuerelementmuster verfügbar, die eigenschaften speziell für ihre Steuerelementtypen bereitstellen. Steuerelementmuster machen auch Methoden verfügbar, mit denen Clients weitere Informationen zum Element abrufen und Eingaben bereitstellen können.

Hinweis

Es gibt keine 1:1-Entsprechung zwischen Steuerelementtypen und Steuerelementmustern. Ein Steuerelementmuster kann von mehreren Steuerelementtypen unterstützt werden, und ein Steuerelement unterstützt mehrere Steuerelementmuster, von denen jedes verschiedene Aspekte 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. Einzelheiten finden Sie unter Steuerelementtypen für die Benutzeroberflächenautomatisierung.

Die Benutzeroberflächenautomatisierung stellt auch Informationen für Clientanwendungen über Ereignisse bereit. Im Gegensatz zu WinEvents basieren UI-Automatisierungsereignisse nicht auf einem Übertragungsmechanismus. Benutzeroberflächenautomatisierungs-Clients registrieren sich für bestimmte Ereignisbenachrichtigungen und können anfordern, dass bestimmte Eigenschaften der Benutzeroberflächenautomatisierung und Steuerelementmusterinformationen an ihre Ereignishandler übergeben werden. Darüber hinaus enthält ein Benutzeroberflächenautomatisierungs-Ereignis einen Verweis auf das Element, das es ausgelöst hat. Anbieter können die Leistung verbessern, indem Ereignisse selektiv ausgelöst werden, je nachdem, ob Clients lauschen.

Siehe auch