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.
Microsoft Active Accessibility war die frühere Lösung für die Barrierefreiheit von Anwendungen. Die Microsoft-Benutzeroberflächenautomatisierung ist das neue Barrierefreiheitsmodell für Microsoft Windows und soll die Anforderungen von Hilfstechnologieprodukten und automatisierten Testtools erfüllen. Die Benutzeroberflächenautomatisierung bietet viele Verbesserungen gegenüber der aktiven Barrierefreiheit.
Dieses Thema enthält die wichtigsten Features der Benutzeroberflächenautomatisierung und erläutert, wie sich diese Features von der aktiven Barrierefreiheit unterscheiden.
Programmiersprachen
Die aktive Barrierefreiheit basiert auf dem Component Object Model (COM) mit Unterstützung für duale Schnittstellen und ist daher in C/C++, Microsoft Visual Basic 6.0 und Skriptsprachen programmierbar. Die Benutzeroberflächenautomatisierung (einschließlich der clientseitigen Anbieterbibliothek für Standardsteuerelemente) wird in verwaltetem Code geschrieben, und Benutzeroberflächenautomatisierungs-Clientanwendungen werden am einfachsten mit C# oder Visual Basic .NET programmiert. Benutzeroberflächenautomatisierungs-Anbieter, die Schnittstellenimplementierungen sind, können in verwaltetem Code oder in C/C++ geschrieben werden.
Unterstützung in Windows Presentation Foundation
Windows Presentation Foundation (WPF) ist das neue Modell zum Erstellen von Benutzeroberflächen. WPF-Elemente enthalten keine native Unterstützung für die aktive Barrierefreiheit; Sie unterstützen jedoch die Benutzeroberflächenautomatisierung, die Überbrückungsunterstützung für Active Accessibility-Clients umfasst. Nur clients, die speziell für die Benutzeroberflächenautomatisierung geschrieben wurden, können die Barrierefreiheitsfeatures von WPF nutzen, z. B. die umfassende Unterstützung für Text.
Server und Clients
In Active Accessibility können Server und Clients direkt miteinander kommunizieren, hauptsächlich durch die Implementierung des Servers von IAccessible
.
In der Benutzeroberflächenautomatisierung liegt ein Kerndienst zwischen dem Server (als Anbieter bezeichnet) und dem Client. Der Kerndienst ruft die von Anbietern implementierten Schnittstellen auf und stellt zusätzliche Dienste bereit, z. B. das Generieren eindeutiger Laufzeit-IDs für Elemente. Clientanwendungen verwenden Bibliotheksfunktionen, um den Benutzeroberflächenautomatisierungsdienst aufzurufen.
Benutzeroberflächenautomatisierungs-Anbieter können Informationen für Active Accessibility-Clients bereitstellen, und Active Accessibility-Server können Informationen für Benutzeroberflächenautomatisierungs-Clientanwendungen bereitstellen. Da die aktive Barrierefreiheit jedoch nicht so viele Informationen wie die Benutzeroberflächenautomatisierung verfügbar macht, sind die beiden Modelle nicht vollständig kompatibel.
Ui-Elemente
Active Accessibility stellt Benutzeroberflächenelemente entweder als IAccessible
-Schnittstelle oder als untergeordneten Bezeichner dar. Es ist schwierig, zwei IAccessible
Zeiger zu vergleichen, um festzustellen, ob sie auf dasselbe Element verweisen.
In der Benutzeroberflächenautomatisierung wird jedes Element als AutomationElement Objekt dargestellt. Vergleich erfolgt mithilfe des Gleichheitsoperators oder der Equals Methode, die beide die eindeutigen Laufzeit-IDs der Elemente vergleichen.
Strukturansichten und Navigation
Die Benutzeroberflächenelemente auf dem Bildschirm können als Baumstruktur betrachtet werden, mit dem Desktop als Stamm, den Anwendungsfenstern als direkte untergeordnete Elemente und den Elementen innerhalb der Anwendungen als weitere untergeordnete Elemente.
In der aktiven Barrierefreiheit werden viele Automatisierungselemente, die für Endbenutzer irrelevant sind, im Baum sichtbar gemacht. Clientanwendungen müssen sich alle Elemente ansehen, um zu bestimmen, welche aussagekräftig sind.
Benutzeroberflächenautomatisierungs-Clientanwendungen betrachten die Benutzeroberfläche über eine gefilterte Ansicht. Die Ansicht enthält nur elemente von Interesse: diejenigen, die dem Benutzer Informationen geben oder die Interaktion aktivieren. Vordefinierte Ansichten von nur Steuerelementelementen und nur Inhaltselemente sind verfügbar; Darüber hinaus können Anwendungen benutzerdefinierte Ansichten definieren. Die Benutzeroberflächenautomatisierung vereinfacht die Beschreibung der Benutzeroberfläche für den Benutzer und hilft dem Benutzer bei der Interaktion mit der Anwendung.
Die Navigation zwischen Elementen in Active Accessibility erfolgt entweder räumlich (z. B. beim Wechsel zum Element, das auf der linken Seite des Bildschirms liegt), logisch (z. B. beim Wechsel zum nächsten Menüelement oder zum nächsten Element in der Aktivierreihenfolge eines Dialogfelds) oder hierarchisch (z. B. beim Wechsel zum ersten untergeordneten Element in einem Container oder vom untergeordneten zum übergeordneten Element). Die hierarchische Navigation wird dadurch erschwert, dass untergeordnete Elemente nicht immer Objekte sind, die IAccessible
implementieren.
Bei der Benutzeroberflächenautomatisierung sind AutomationElement alle UI-Elemente Objekte, die dieselben grundlegenden Funktionen unterstützen. (Aus Sicht des Anbieters sind sie Objekte, die eine von IRawElementProviderSimple geerbte Schnittstelle implementieren.) Die Navigation ist hauptsächlich hierarchisch: von Elternteilen zu Kindern, und von einem Geschwisterelement zum nächsten. (Die Navigation zwischen gleichgeordneten Elementen verfügt über ein logisches Element, da es möglicherweise der Registerkartenreihenfolge folgt.) Sie können von jedem Startpunkt aus navigieren, indem Sie eine beliebige gefilterte Ansicht der Struktur verwenden, indem Sie die TreeWalker-Klasse verwenden. Sie können auch zu bestimmten Kind- oder Nachkommenelementen navigieren, indem Sie FindFirst und FindAll verwenden; beispielsweise ist es sehr einfach, alle Elemente in einem Dialogfeld abzurufen, die ein spezifiziertes Steuerungsmuster unterstützen.
Die Navigation in der Benutzeroberflächenautomatisierung ist konsistenter als bei der aktiven Barrierefreiheit. Einige Elemente, wie Dropdown-Listen und Popup-Fenster, werden zweimal in der Aktiven Barrierefreiheits-Baumstruktur angezeigt, und die Navigation von ihnen kann unerwartete Ergebnisse haben. Es ist praktisch unmöglich, Active Accessibility für ein Rebar-Steuerelement ordnungsgemäß zu implementieren. Die Benutzeroberflächenautomatisierung ermöglicht die erneute Zuordnung zu übergeordneten Elementen und die Neupositionierung, sodass ein Element ungeachtet der Hierarchie, die sich durch den Besitz von Fenstern ergibt, an eine beliebige Stelle in der Struktur platziert werden kann.
Rollen und Steuerelementtypen
Die aktive Barrierefreiheit verwendet die accRole
Eigenschaft (IAccessible::get_actRole
) zum Abrufen einer Beschreibung der Rolle des Elements in der Benutzeroberfläche, z. B. ROLE_SYSTEM_SLIDER oder ROLE_SYSTEM_MENUITEM. Die Rolle eines Elements ist der wichtigste Anhaltspunkt für seine verfügbaren Funktionen. Die Interaktion mit einem Steuerelement erfolgt durch feste Methoden wie IAccessible::accSelect
und IAccessible::accDoDefaultAction
. Die Interaktion zwischen der Clientanwendung und der Benutzeroberfläche ist auf das beschränkt, was über IAccessible
sie ausgeführt werden kann.
Im Gegensatz dazu entkoppelt die Benutzeroberflächenautomatisierung den Steuerelementtyp des Elements (beschrieben durch die ControlType Eigenschaft) weitgehend von der erwarteten Funktionalität. Die Funktionalität wird durch die Steuerelementmuster bestimmt, die vom Anbieter durch Implementieren spezieller Schnittstellen unterstützt werden. Steuerelementmuster können kombiniert werden, um den vollständigen Satz von Funktionen zu beschreiben, die von einem bestimmten UI-Element unterstützt werden. Einige Anbieter müssen ein bestimmtes Steuerelementmuster unterstützen; Beispielsweise muss der Anbieter für ein Kontrollkästchen das Umschaltsteuerelementmuster unterstützen. Andere Anbieter müssen mindestens einen Satz von Steuerelementmustern unterstützen. Eine Schaltfläche muss z. B. entweder „Toggle“ oder „Invoke“ unterstützen. Wieder andere Anbieter unterstützen überhaupt keine Steuerelementmuster. Ein Bereich, der z. B. nicht vergrößert, verkleinert, verschoben oder angedockt werden kann, besitzt keine Steuerelementmuster.
Die Benutzeroberflächenautomatisierung unterstützt benutzerdefinierte Steuerelemente, die von der Custom Eigenschaft identifiziert werden und von der LocalizedControlTypeProperty Eigenschaft beschrieben werden können.
Die folgende Tabelle zeigt die Zuordnung von Rollen für die aktive Barrierefreiheit zu Steuerelementtypen der Benutzeroberflächenautomatisierung.
Active Accessibility-Rolle | Steuerelementtyp der Benutzeroberflächenautomatisierung |
---|---|
ROLE_SYSTEM_PUSHBUTTON | Schaltfläche |
ROLE_SYSTEM_CLIENT | Kalender |
ROLE_SYSTEM_CHECKBUTTON | Kontrollkästchen |
ROLE_SYSTEM_COMBOBOX | Kombinationsfeld |
ROLE_SYSTEM_CLIENT | Kundenspezifisch |
ROLE_SYSTEM_LIST | Datenraster |
ROLE_SYSTEM_LISTITEM | Datenelement |
ROLE_SYSTEM_DOCUMENT | Dokument |
ROLE_SYSTEM_TEXT | Bearbeiten |
ROLE_SYSTEM_GROUPING | Gruppe |
ROLE_SYSTEM_LIST | Kopfzeile |
ROLE_SYSTEM_COLUMNHEADER | Kopfzeilenelement |
ROLE_SYSTEM_LINK | Verknüpfung |
ROLE_SYSTEM_GRAPHIC | Abbildung |
ROLE_SYSTEM_LIST | Liste |
ROLE_SYSTEM_LISTITEM | Listenelement |
ROLE_SYSTEM_MENUPOPUP | Menü |
ROLE_SYSTEM_MENUBAR | Menüleiste |
ROLE_SYSTEM_MENUITEM | Menüpunkt |
ROLE_SYSTEM_PANE | Fenster |
ROLE_SYSTEM_PROGRESSBAR | Fortschrittsbalken |
ROLE_SYSTEM_RADIOBUTTON | Radiobutton |
ROLE_SYSTEM_SCROLLBAR | Bildlaufleiste |
ROLE_SYSTEM_SEPARATOR | Abscheider |
ROLE_SYSTEM_SLIDER | Schieberegler |
ROLE_SYSTEM_SPINBUTTON | Drehfeld |
ROLE_SYSTEM_SPLITBUTTON | Schaltfläche "Teilen" |
ROLE_SYSTEM_STATUSBAR | Statusleiste |
ROLE_SYSTEM_PAGETABLIST | Registerkarte |
ROLE_SYSTEM_PAGETAB | Registerkartenelement |
ROLE_SYSTEM_TABLE | Tabelle |
ROLE_SYSTEM_STATICTEXT | Text |
ROLE_SYSTEM_INDICATOR | Daumen |
ROLE_SYSTEM_TITLEBAR | Titelleiste |
ROLE_SYSTEM_TOOLBAR | Symbolleiste |
ROLE_SYSTEM_TOOLTIP | Tooltip |
ROLE_SYSTEM_OUTLINE | Baum |
ROLE_SYSTEM_OUTLINEITEM | Baumelement |
ROLE_SYSTEM_WINDOW | Fenster |
Weitere Informationen zu den verschiedenen Steuerelementtypen finden Sie unter Steuerelementtypen für die Benutzeroberflächenautomatisierung.
Zustände und Eigenschaften
In der aktiven Barrierefreiheit unterstützen Elemente einen allgemeinen Satz von Eigenschaften, und einige Eigenschaften (z. B. accState
) müssen je nach Rolle des Elements sehr unterschiedliche Dinge beschreiben. Server müssen alle Methoden implementieren, die IAccessible
eine Eigenschaft zurückgeben, auch diejenigen, die für das Element nicht relevant sind.
Die Benutzeroberflächenautomatisierung definiert viele weitere Eigenschaften, von denen einige den Zuständen in der aktiven Barrierefreiheit entsprechen. Einige sind für alle Elemente gemeinsam, andere sind jedoch spezifisch für Steuerelementtypen und Steuerelementmuster. Eigenschaften werden durch eindeutige Bezeichner unterschieden, und die meisten Eigenschaften können mithilfe einer einzelnen Methode abgerufen werden. GetCurrentPropertyValueGetCachedPropertyValue Viele Eigenschaften können auch leicht über die Current - und Cached - Eigenschaftenaccessoren abgerufen werden.
Ein Benutzeroberflächenautomatisierungs-Anbieter muss keine irrelevanten Eigenschaften implementieren, kann aber einfach einen null
Wert für alle Eigenschaften zurückgeben, die nicht unterstützt werden. Darüber hinaus kann der Kerndienst der Benutzeroberflächenautomatisierung einige Eigenschaften vom Standardfensteranbieter abrufen, und diese werden mit eigenschaften versehen, die explizit vom Anbieter implementiert werden.
Neben der Unterstützung vieler weiterer Eigenschaften bietet die Benutzeroberflächenautomatisierung eine bessere Leistung, indem mehrere Eigenschaften mit einem einzigen prozessübergreifenden Aufruf abgerufen werden können.
Die folgende Tabelle zeigt die Korrespondenz zwischen Eigenschaften in den beiden Modellen.
Active Accessibility-Eigenschaftenaccessor | Eigenschafts-ID der Benutzeroberflächenautomatisierung | Bemerkungen |
---|---|---|
get_accKeyboardShortcut |
AccessKeyProperty oder AcceleratorKeyProperty |
AccessKeyProperty hat Vorrang, wenn beide vorhanden sind. |
get_accName |
NameProperty | |
get_accRole |
ControlTypeProperty | In der vorherigen Tabelle finden Sie die Zuordnung von Rollen zu Steuerelementtypen. |
get_accValue |
ValuePattern.ValueProperty RangeValuePattern.ValueProperty |
Gilt nur für Steuerelementtypen, die ValuePattern oder RangeValuePattern unterstützen. RangeValue-Werte werden auf 0-100 normalisiert, um mit dem MSAA-Verhalten konsistent zu sein. Wertelemente verwenden eine Zeichenfolge. |
get_accHelp |
HelpTextProperty | |
accLocation |
BoundingRectangleProperty | |
get_accDescription |
In der Benutzeroberflächenautomatisierung nicht unterstützt |
accDescription hatte keine klare Spezifikation innerhalb von MSAA, was dazu führte, dass Anbieter verschiedene Informationen in diese Eigenschaft einfügten. |
get_accHelpTopic |
In der Benutzeroberflächenautomatisierung nicht unterstützt |
In der folgenden Tabelle ist dargestellt, welche Eigenschaften der Benutzeroberflächenautomatisierung den Konstanten des Aktiven Barrierefreiheitszustands entsprechen.
Active Accessibility-Zustand | Benutzeroberflächenautomatisierungs-Eigenschaft | Löst Zustandsänderung aus? |
---|---|---|
STATE_SYSTEM_CHECKED | Für Kontrollkästchen ist dies ToggleStateProperty Für Optionsfelder ist dies IsSelectedProperty |
Ja |
STATE_SYSTEM_COLLAPSED | ExpandCollapseState = Collapsed | Ja |
STATE_SYSTEM_EXPANDED | ExpandCollapseState = Expanded oder PartiallyExpanded | Ja |
STATE_SYSTEM_FOCUSABLE | IsKeyboardFocusableProperty | N |
STATE_SYSTEM_FOCUSED | HasKeyboardFocusProperty | N |
STATE_SYSTEM_HASPOPUP | ExpandCollapsePattern für Menüelemente | N |
STATE_SYSTEM_INVISIBLE | IsOffscreenProperty = True und GetClickablePoint führt zu NoClickablePointException | N |
STATE_SYSTEM_LINKED | ControlTypeProperty = Hyperlink |
N |
STATE_SYSTEM_MIXED | ToggleState = Indeterminate | N |
STATE_SYSTEM_MOVEABLE | CanMoveProperty | N |
STATE_SYSTEM_MUTLISELECTABLE | CanSelectMultipleProperty | N |
STATE_SYSTEM_OFFSCREEN | IsOffscreenProperty = Wahr | N |
STATE_SYSTEM_PROTECTED | IsPasswordProperty | N |
STATE_SYSTEM_READONLY | RangeValuePattern.IsReadOnlyProperty und ValuePattern.IsReadOnlyProperty | N |
STATE_SYSTEM_SELECTABLE | SelectionItemPattern wird unterstützt | N |
STATE_SYSTEM_SELECTED | IsSelectedProperty | N |
STATE_SYSTEM_SIZEABLE | CanResize | N |
STATE_SYSTEM_UNAVAILABLE | IsEnabledProperty | Ja |
Die folgenden Zustandswerte wurden entweder nicht von den meisten Active Accessibility-Steuerservern implementiert oder haben keine Entsprechung in der "UI Automation".
Active Accessibility-Zustand | Bemerkungen |
---|---|
STATE_SYSTEM_BUSY | In der Benutzeroberflächenautomatisierung nicht verfügbar |
STATE_SYSTEM_DEFAULT | In der Benutzeroberflächenautomatisierung nicht verfügbar |
STATE_SYSTEM_ANIMATED | In der Benutzeroberflächenautomatisierung nicht verfügbar |
STATE_SYSTEM_EXTSELECTABLE | Von Active Accessibility-Servern nicht umfassend implementiert |
STATE_SYSTEM_MARQUEED | Von Active Accessibility-Servern nicht umfassend implementiert |
STATE_SYSTEM_SELFVOICING | Von Active Accessibility-Servern nicht umfassend implementiert |
STATE_SYSTEM_TRAVERSED | In der Benutzeroberflächenautomatisierung nicht verfügbar |
STATE_SYSTEM_ALERT_HIGH | Von Active Accessibility-Servern nicht umfassend implementiert |
STATE_SYSTEM_ALERT_MEDIUM | Von Active Accessibility-Servern nicht umfassend implementiert |
STATE_SYSTEM_ALERT_LOW | Von Active Accessibility-Servern nicht umfassend implementiert |
STATE_SYSTEM_FLOATING | Von Active Accessibility-Servern nicht umfassend implementiert |
STATE_SYSTEM_HOTTRACKED | In der Benutzeroberflächenautomatisierung nicht verfügbar |
STATE_SYSTEM_PRESSED | In der Benutzeroberflächenautomatisierung nicht verfügbar |
Eine vollständige Liste der Benutzeroberflächenautomatisierungs-Eigenschaftenbezeichner finden Sie in der Übersicht über benutzeroberflächenautomatisierungs-Eigenschaften.
Ereignisse
Der Ereignismechanismus in der Benutzeroberflächenautomatisierung basiert im Gegensatz dazu in der aktiven Barrierefreiheit nicht auf dem Windows-Ereignisrouting (das eng mit Fensterhandles verknüpft ist) und erfordert nicht, dass die Clientanwendung Hooks einrichten kann. Abonnements von Ereignissen können nicht nur auf bestimmte Ereignisse, sondern auch auf bestimmte Teile der Struktur abgestimmt werden. Anbieter können zudem das Auslösen von Ereignissen optimieren, indem sie verfolgen, wofür Ereignisse aufgeführt werden.
Es ist auch für Clients einfacher, die Elemente abzurufen, die Ereignisse auslösen, da diese direkt an den Ereignisrückruf übergeben werden. Eigenschaften des Elements werden automatisch vorab abgerufen, wenn eine Cacheanforderung aktiv gewesen ist, als der Client das Ereignis abonniert hat.
Die folgende Tabelle zeigt die Übereinstimmung der Ereignisse "Active Accessibility WinEvents" und "Benutzeroberflächenautomatisierung".
WinEvent | Benutzeroberflächenautomatisierungs-Ereignisbezeichner |
---|---|
EVENT_OBJECT_ACCELERATORCHANGE | AcceleratorKeyProperty -Eigenschaftenänderung |
EVENT_OBJECT_CONTENTSCROLLED | VerticalScrollPercentProperty oder eine HorizontalScrollPercentProperty -Eigenschaftenänderung für die entsprechenden Bildlaufleisten |
EVENT_OBJECT_CREATE | StructureChangedEvent |
EVENT_OBJECT_DEFACTIONCHANGE | Keine Entsprechung |
EVENT_OBJECT_DESCRIPTIONCHANGE | Keine genaue Entsprechung, vielleicht HelpTextProperty oder die LocalizedControlTypeProperty -Eigenschaftenänderung |
EVENT_OBJECT_DESTROY | StructureChangedEvent |
EREIGNIS_OBJEKT_FOKUS | AutomationFocusChangedEvent |
EVENT_OBJECT_HELPCHANGE | HelpTextProperty-Änderung |
EVENT_OBJECT_HIDE | StructureChangedEvent |
EVENT_OBJECT_LOCATIONCHANGE | BoundingRectangleProperty -Eigenschaftenänderung |
EVENT_OBJECT_NAMECHANGE | NameProperty -Eigenschaftenänderung |
EVENT_OBJECT_PARENTCHANGE | StructureChangedEvent |
EVENT_OBJECT_REORDER | Wird nicht konsistent in der aktiven Barrierefreiheit verwendet. In der Benutzeroberflächenautomatisierung ist kein direkt entsprechendes Ereignis definiert. |
EVENT_OBJECT_SELECTION | ElementSelectedEvent |
EVENT_OBJECT_SELECTIONADD | ElementAddedToSelectionEvent |
EVENT_OBJECT_SELECTIONREMOVE | ElementRemovedFromSelectionEvent |
EVENT_OBJECT_SELECTIONWITHIN | Keine Entsprechung |
EVENT_OBJECT_SHOW | StructureChangedEvent |
EVENT_OBJECT_STATECHANGE | Verschiedene Eigenschaftsänderungsereignisse |
EVENT_OBJECT_VALUECHANGE | RangeValuePattern.ValueProperty und ValuePattern.ValueProperty geändert |
EVENT_SYSTEM_ALERT | Keine Entsprechung |
EVENT_SYSTEM_CAPTUREEND | Keine Entsprechung |
EVENT_SYSTEM_CAPTURESTART | Keine Entsprechung |
EVENT_SYSTEM_CONTEXTHELPEND | Keine Entsprechung |
EVENT_SYSTEM_CONTEXTHELPSTART | Keine Entsprechung |
EVENT_SYSTEM_DIALOGEND | WindowClosedEvent |
EVENT_SYSTEM_DIALOGSTART | WindowOpenedEvent |
EVENT_SYSTEM_DRAGDROPEND | Keine Entsprechung |
EVENT_SYSTEM_DRAGDROPSTART | Keine Entsprechung |
EVENT_SYSTEM_FOREGROUND | AutomationFocusChangedEvent |
EVENT_SYSTEM_MENUEND | MenuClosedEvent |
EVENT_SYSTEM_MENUPOPUPEND | MenuClosedEvent |
EVENT_SYSTEM_MENUPOPUPSTART | MenuOpenedEvent |
EVENT_SYSTEM_MENUSTART | MenuOpenedEvent |
EVENT_SYSTEM_MINIMIZEEND | WindowVisualStateProperty -Eigenschaftenänderung |
EVENT_SYSTEM_MINIMIZESTART | WindowVisualStateProperty -Eigenschaftenänderung |
EVENT_SYSTEM_MOVESIZEEND | BoundingRectangleProperty -Eigenschaftenänderung |
EVENT_SYSTEM_MOVESIZESTART | BoundingRectangleProperty -Eigenschaftenänderung |
EVENT_SYSTEM_SCROLLINGEND | VerticalScrollPercentProperty oder HorizontalScrollPercentProperty-Eigenschaftenänderung |
EVENT_SYSTEM_SCROLLINGSTART | VerticalScrollPercentProperty oder HorizontalScrollPercentProperty-Eigenschaftenänderung |
EVENT_SYSTEM_SOUND | Keine Entsprechung |
EVENT_SYSTEM_SWITCHEND | Kein Äquivalent, aber ein AutomationFocusChangedEvent Ereignis signalisiert, dass eine neue Anwendung den Fokus erhalten hat. |
EVENT_SYSTEM_SWITCHSTART | Keine Entsprechung |
Keine Entsprechung | CurrentViewProperty -Eigenschaftenänderung |
Keine Entsprechung | HorizontallyScrollableProperty -Eigenschaftenänderung |
Keine Entsprechung | VerticallyScrollableProperty -Eigenschaftenänderung |
Keine Entsprechung | HorizontalScrollPercentProperty -Eigenschaftenänderung |
Keine Entsprechung | VerticalScrollPercentProperty -Eigenschaftenänderung |
Keine Entsprechung | HorizontalViewSizeProperty -Eigenschaftenänderung |
Keine Entsprechung | VerticalViewSizeProperty -Eigenschaftenänderung |
Keine Entsprechung | ToggleStateProperty -Eigenschaftenänderung |
Keine Entsprechung | WindowVisualStateProperty -Eigenschaftenänderung |
Keine Entsprechung | AsyncContentLoadedEvent-Ereignis |
Keine Entsprechung | ToolTipOpenedEvent |
Sicherheit
Für einige IAccessible
Anpassungsszenarien ist es erforderlich, eine Basis IAccessible
zu umschließen und darauf zuzugreifen. Dies hat Sicherheitsauswirkungen, da eine teilweise vertrauenswürdige Komponente kein Vermittler auf einem Codepfad sein sollte.
Das Modell der Benutzeroberflächenautomatisierung beseitigt die Notwendigkeit, dass Anbieter anderen Anbietercode aufrufen müssen. Der Kerndienst der Benutzeroberflächenautomatisierung führt alle erforderlichen Aggregationen durch.