Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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
- UI-Automatisierungsstruktur Übersicht
- Übersicht über Steuerelementmuster für Benutzeroberflächenautomatisierung
- Übersicht über Benutzeroberflächenautomatisierung-Eigenschaften
- übersicht über Ereignisse der Benutzeroberflächenautomatisierung
- Übersicht über die Sicherheit der Benutzeroberflächenautomatisierung