Freigeben über


Benutzeroberflächenautomatisierung und Microsoft Active Accessibility

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 IAccessiblesie 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.

Siehe auch