Benutzeroberflächenautomatisierung und Microsoft Active Accessibility

Aktualisiert: November 2007

Microsoft Active Accessibility war die frühere Lösung für den leichteren Zugriff auf Anwendungen. Microsoft-UI-Automatisierung ist das neue Zugriffsmodell für Microsoft Windows. Es wurde für die Anforderungen von Hilfstechnologieprodukten und automatisierten Testtools entwickelt. UI-Automatisierung bietet gegenüber Active Accessibility viele Verbesserungen.

In diesem Thema werden die wesentlichen Features von UI-Automatisierung dargestellt und erläutert, wie diese sich von Active Accessibility unterscheiden.

Dieses Thema enthält folgende Abschnitte.

  • Programmiersprachen
  • Unterstützung in Windows Presentation Foundation
  • Server und Clients
  • Benutzeroberflächenelemente
  • Strukturansichten und Navigation
  • Rollen und Steuerelementtypen
  • Zustände und Eigenschaften
  • Ereignisse
  • Sicherheit
  • Verwandte Abschnitte

Programmiersprachen

Active Accessibility basiert auf 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. UI-Automatisierung (einschließlich der clientseitigen Anbieterbibliothek für Standardsteuerelemente) ist in verwaltetem Code geschrieben, und Benutzeroberflächenautomatisierungs-Client-Anwendungen werden am einfachsten mit Microsoft Visual C# oder Microsoft Visual Basic .NET programmiert. Benutzeroberflächenautomatisierungs-Anbieter, also Schnittstellenimplementierungen, können in verwaltetem Code oder 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 bieten keine systemeigene Unterstützung für Active Accessibility. Stattdessen wird UI-Automatisierung unterstützt, wodurch eine überbrückende Unterstützung für Active Accessibility-Clients besteht. Nur Clients, die speziell für UI-Automatisierung geschrieben sind, können die Zugriffsfunktionen von WPF, wie z. B. die umfangreiche Unterstützung für Text, voll ausschöpfen.

Server und Clients

In Active Accessibility kommunizieren Server und Clients direkt miteinander, hauptsächlich durch die serverseitige Implementierung von IAccessible.

In UI-Automatisierung befindet sich zwischen dem Server (Anbieter genannt) und dem Client ein Basisdienst. Der Basisdienst führt Aufrufe an die von Anbietern implementierten Schnittstellen durch und bietet zusätzliche Dienste, wie das Generieren eindeutiger Laufzeitbezeichner für Elemente. Clientanwendungen verwenden Bibliotheksfunktionen, um den UI-Automatisierung-Dienst aufzurufen.

Benutzeroberflächenautomatisierungs-Anbieter können für Active Accessibility-Clients Informationen bereitstellen, und Active Accessibility-Server können für Benutzeroberflächenautomatisierungs-Client-Anwendungen Informationen bereitstellen. Da Active Accessibility jedoch nicht so viele Informationen wie UI-Automatisierung verfügbar macht, sind die beiden Modelle nur eingeschränkt kompatibel.

Benutzeroberflächenelemente

Active Accessibility stellt Benutzeroberfläche-Elemente entweder als IAccessible-Schnittstelle oder als untergeordneten Bezeichner dar. Es ist schwierig, zwei IAccessible-Zeiger miteinander zu vergleichen, um zu bestimmen, ob sie auf dasselbe Element verweisen.

In UI-Automatisierung wird jedes Element als AutomationElement-Objekt dargestellt. Der Vergleich wird mithilfe des Gleichheitsoperators oder der Equals-Methode durchgeführt. Dabei wird jeweils der eindeutige Laufzeitbezeichner der Elemente verglichen.

Strukturansichten und Navigation

Die Benutzeroberfläche (user interface, UI)-Elemente auf dem Bildschirm werden als Baumstruktur angezeigt, mit dem Desktop als Stamm, Anwendungsfenstern als unmittelbar untergeordnete Elemente sowie Elementen innerhalb von Anwendungen auf den Ebenen darunter.

In Active Accessibility werden viele Automatisierungselemente in der Struktur verfügbar gemacht, die für Endbenutzer nicht relevant sind. Clientanwendungen müssen alle Elemente überprüfen, um zu bestimmen, welche benötigt werden.

Benutzeroberflächenautomatisierungs-Client-Anwendungen sehen die Benutzeroberfläche über eine gefilterte Ansicht. Die Ansicht enthält nur Elemente, die von Interesse sind, also diejenigen, die Informationen für den Benutzer enthalten oder Interaktion ermöglichen. Vordefinierte Ansichten nur von Steuerelementen und Inhaltselementen stehen zur Verfügung. Zusätzlich können durch Anwendungen benutzerdefinierte Ansichten definiert werden. UI-Automatisierung vereinfacht die Aufgabe, dem Benutzer die Benutzeroberfläche zu beschreiben und die Interaktion mit der Anwendung zu erleichtern.

Die Navigation zwischen Elementen in Active Accessibility ist entweder räumlich (z. B. Wechseln zum Element, das auf der linken Seite des Bildschirms liegt), logisch (z. B. Wechseln zum nächsten Menüelement oder zum nächsten Element in der Aktivierreihenfolge innerhalb eines Dialogfelds) oder hierarchisch (z. B. Wechseln zum ersten übergeordneten Element in einem Container oder vom übergeordneten zum untergeordneten Element). Die hierarchische Navigation wird dadurch kompliziert, dass es sich bei untergeordneten Elementen nicht immer um Objekte handelt, die IAccessible implementieren.

In UI-Automatisierung sind alle Benutzeroberfläche-Elemente AutomationElement-Objekte, die die gleiche grundlegende Funktionalität unterstützen. (Aus Sicht des Anbieters sind sie Objekte, die eine von IRawElementProviderSimple geerbte Schnittstelle implementieren.) Die Navigation ist hauptsächlich hierarchisch: von übergeordneten zu untergeordneten Elementen und von einem nebengeordneten Element zum nächsten. (Die Navigation zwischen nebengeordneten Elementen hat ein logisches Element, da sie sich eventuell nach der Aktivierreihenfolge richtet.) Mithilfe der TreeWalker-Klasse können Sie von jedem Startpunkt aus in einer beliebigen gefilterten Ansicht der Struktur navigieren. Mithilfe von FindFirst und FindAll können Sie außerdem zu bestimmten untergeordneten oder Nachfolgerelementen navigieren. Beispielsweise ist es sehr einfach, alle Elemente in einem Dialogfeld abzurufen, die ein bestimmtes Steuerelementmuster unterstützen.

Die Navigation in UI-Automatisierung ist konsistenter als in Active Accessibility. Einige Elemente wie Dropdownlisten und Popupfenster werden in der Active Accessibility-Struktur doppelt angezeigt, und die Navigation kann zu unerwarteten Ergebnissen führen. Es ist eigentlich nicht möglich, Active Accessibility für ein Infoleisten-Steuerelement ordnungsgemäß zu implementieren. UI-Automatisierung ermöglicht ein erneutes Zuweisen zu übergeordneten Elementen und eine erneute Positionierung, sodass ein Element ungeachtet der Hierarchie, die auf dem Besitz von Fenstern beruht, überall in der Struktur platziert werden kann.

Rollen und Steuerelementtypen

Active Accessibility verwendet die accRole-Eigenschaft (IAccessible::get_actRole), um eine Beschreibung der Rolle des Elements in Benutzeroberfläche abzurufen, wie z. B. ROLE_SYSTEM_SLIDER oder ROLE_SYSTEM_MENUITEM. Die Rolle eines Elements ist der Hauptanhaltspunkt für seine verfügbare Funktionalität. Die Interaktion mit einem Steuerelement wird mithilfe fester Methoden wie IAccessible::accSelect und IAccessible::accDoDefaultAction erreicht. Die Interaktion zwischen der Clientanwendung und Benutzeroberfläche ist auf die Funktionsweise von IAccessible beschränkt.

Im Gegensatz dazu entkoppelt UI-Automatisierung den Steuerelementtyp des Elements (beschrieben durch die ControlType-Eigenschaft) weitgehend von seiner zu erwartenden Funktionalität. Die Funktionalität wird durch die Steuerelementmuster festgelegt, die vom Anbieter durch Implementieren spezieller Schnittstellen unterstützt werden. Steuerelementmuster können miteinander kombiniert werden, um den vollständigen Funktionssatz zu beschreiben, der von einem bestimmten Benutzeroberfläche-Element unterstützt wird. Einige Anbieter müssen ein bestimmtes Steuerelementmuster unterstützen. Beispielsweise muss der Anbieter für ein Kontrollkästchen das Toggle-Steuerelementmuster unterstützen. Andere Anbieter müssen von mehreren Steuerelementmustern mindestens eines unterstützen. Beispielsweise muss eine Schaltfläche entweder Toggle oder Invoke unterstützen. Wieder andere Anbieter unterstützen gar keine Steuerelementmuster. Beispielsweise verfügt ein Bereich, der nicht verschoben, in der Größe geändert oder angedockt werden kann, über keine Steuerelementmuster.

UI-Automatisierung unterstützt benutzerdefinierte Steuerelemente, die durch die Custom-Eigenschaft festgelegt werden und durch die LocalizedControlTypeProperty-Eigenschaft beschrieben werden können.

Die folgende Tabelle enthält die Zuordnung von Active Accessibility-Rollen zu UI-Automatisierung-Steuerelementtypen.

Active Accessibility-Rolle

UI-Automatisierung-Steuerelementtyp

ROLE_SYSTEM_PUSHBUTTON

Schaltfläche

ROLE_SYSTEM_CLIENT

Kalender

ROLE_SYSTEM_CHECKBUTTON

Kontrollkästchen

ROLE_SYSTEM_COMBOBOX

Kombinationsfeld

ROLE_SYSTEM_CLIENT

Benutzerdefiniert

ROLE_SYSTEM_LIST

Datenraster

ROLE_SYSTEM_LISTITEM

Datenelement

ROLE_SYSTEM_DOCUMENT

Dokument

ROLE_SYSTEM_TEXT

Bearbeiten

ROLE_SYSTEM_GROUPING

Gruppe

ROLE_SYSTEM_LIST

Header

ROLE_SYSTEM_COLUMNHEADER

Headerelement

ROLE_SYSTEM_LINK

Hyperlink

ROLE_SYSTEM_GRAPHIC

Bild

ROLE_SYSTEM_LIST

Liste

ROLE_SYSTEM_LISTITEM

Listenelement

ROLE_SYSTEM_MENUPOPUP

Menü

ROLE_SYSTEM_MENUBAR

Menüleiste

ROLE_SYSTEM_MENUITEM

Menüelement

ROLE_SYSTEM_PANE

Bereich

ROLE_SYSTEM_PROGRESSBAR

Statusanzeige

ROLE_SYSTEM_RADIOBUTTON

Optionsfeld

ROLE_SYSTEM_SCROLLBAR

Bildlaufleiste

ROLE_SYSTEM_SEPARATOR

Trennzeichen

ROLE_SYSTEM_SLIDER

Schieberegler

ROLE_SYSTEM_SPINBUTTON

Drehfeld

ROLE_SYSTEM_SPLITBUTTON

Trennschaltfläche

ROLE_SYSTEM_STATUSBAR

Statusleiste

ROLE_SYSTEM_PAGETABLIST

Tabulator

ROLE_SYSTEM_PAGETAB

Registerkartenelement

ROLE_SYSTEM_TABLE

Tabelle

ROLE_SYSTEM_STATICTEXT

Text

ROLE_SYSTEM_INDICATOR

Ziehpunkt

ROLE_SYSTEM_TITLEBAR

Titelleiste

ROLE_SYSTEM_TOOLBAR

Symbolleiste

ROLE_SYSTEM_TOOLTIP

ToolTip

ROLE_SYSTEM_OUTLINE

Strukturansicht

ROLE_SYSTEM_OUTLINEITEM

Strukturelement

ROLE_SYSTEM_WINDOW

Fenster

Weitere Informationen zu den unterschiedlichen Steuerelementtypen finden Sie unter Steuerelementtypen der Benutzeroberflächenautomatisierung.

Zustände und Eigenschaften

In Active Accessibility unterstützen Elemente einen allgemeinen Eigenschaftensatz, und manche Eigenschaften (wie z. B. accState) müssen je nach Rolle des Elements sehr unterschiedliche Dinge beschreiben. Server müssen alle Methoden von IAccessible implementieren, die eine Eigenschaft zurückgeben. Dies gilt auch für diejenigen, die für das Element nicht relevant sind.

Mit UI-Automatisierung werden wesentlich mehr Eigenschaften definiert, von denen einige Zuständen in Active Accessibility entsprechen. Manche beziehen sich auf alle Elemente, andere dagegen nur auf Steuerelementtypen und Steuerelementmuster. Eigenschaften werden durch eindeutige Bezeichner unterschieden, und die meisten Eigenschaften können mithilfe einer einzelnen Methode, GetCurrentPropertyValue oder GetCachedPropertyValue, abgerufen werden. Viele Eigenschaften können auch leicht über die Eigenschaftenaccessoren Current und Cached abgerufen werden.

Nicht relevante Eigenschaften müssen von einem Benutzeroberflächenautomatisierungs-Anbieter nicht implementiert werden. Für nicht unterstützte Eigenschaften kann jedoch einfach ein null-Wert zurückgegeben werden. Auch der UI-Automatisierung-Basisdienst kann einige Eigenschaften vom Standardfensteranbieter abrufen. Diese werden dann mit Eigenschaften zusammengeführt, die vom Anbieter explizit implementiert werden.

Neben den vielen weiteren unterstützten Eigenschaften bietet UI-Automatisierung eine bessere Leistung, indem mehrere Eigenschaften mit einem einzigen prozessübergreifenden Aufruf abgefragt werden können.

In der folgenden Tabelle wird die Entsprechung zwischen Eigenschaften der beiden Modelle dargestellt.

Active Accessibility-Eigenschaftenaccessor

UI-Automatisierung-Eigenschaften-ID

Hinweise

get_accKeyboardShortcut

AccessKeyProperty oder AcceleratorKeyProperty

Wenn beide Attribute vorhanden sind, hat AccessKeyProperty Vorrang.

get_accName

NameProperty

get_accRole

ControlTypeProperty

Die Zuordnung von Rollen zu Steuerelementtypen finden Sie in der vorherigen Tabelle.

get_accValue

ValuePattern.ValueProperty

RangeValuePattern.ValueProperty

Gültig 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. Für Wertelemente wird eine Zeichenfolge verwendet.

get_accHelp

HelpTextProperty

accLocation

BoundingRectangleProperty

get_accDescription

Nicht unterstützt in UI-Automatisierung

accDescription hatte keine eindeutige Spezifikation in MSAA. Dadurch platzierten Anbieter verschiedene Arten von Informationen in dieser Eigenschaft.

get_accHelpTopic

Nicht unterstützt in UI-Automatisierung

In der folgenden Tabelle wird dargestellt, welche UI-Automatisierung-Eigenschaften Active Accessibility-Zustandskonstanten entsprechen.

Active Accessibility-Zustand

UI-Automatisierung-Eigenschaft

Löst Zustandsänderung aus?

STATE_SYSTEM_CHECKED

Für Kontrollkästchen, ToggleStateProperty

Für Optionsfeld, IsSelectedProperty

J

STATE_SYSTEM_COLLAPSED

ExpandCollapseState = Collapsed

J

STATE_SYSTEM_EXPANDED

ExpandCollapseState = Expanded oder PartiallyExpanded

J

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 verursacht 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 = True

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

J

Die folgenden Zustände wurden von den meisten Active Accessibility-Steuerelementservern nicht implementiert oder haben in UI-Automatisierung keine Entsprechung.

Active Accessibility-Zustand

Hinweise

STATE_SYSTEM_BUSY

In UI-Automatisierung nicht verfügbar

STATE_SYSTEM_DEFAULT

In UI-Automatisierung nicht verfügbar

STATE_SYSTEM_ANIMATED

In UI-Automatisierung nicht verfügbar

STATE_SYSTEM_EXTSELECTABLE

Im Allgemeinen nicht durch Active Accessibility-Server implementiert

STATE_SYSTEM_MARQUEED

Im Allgemeinen nicht durch Active Accessibility-Server implementiert

STATE_SYSTEM_SELFVOICING

Im Allgemeinen nicht durch Active Accessibility-Server implementiert

STATE_SYSTEM_TRAVERSED

In UI-Automatisierung nicht verfügbar

STATE_SYSTEM_ALERT_HIGH

Im Allgemeinen nicht durch Active Accessibility-Server implementiert

STATE_SYSTEM_ALERT_MEDIUM

Im Allgemeinen nicht durch Active Accessibility-Server implementiert

STATE_SYSTEM_ALERT_LOW

Im Allgemeinen nicht durch Active Accessibility-Server implementiert

STATE_SYSTEM_FLOATING

Im Allgemeinen nicht durch Active Accessibility-Server implementiert

STATE_SYSTEM_HOTTRACKED

In UI-Automatisierung nicht verfügbar

STATE_SYSTEM_PRESSED

In UI-Automatisierung nicht verfügbar

Eine vollständige Liste der UI-Automatisierung-Eigenschaftenbezeichner finden Sie unter Übersicht über die Benutzeroberflächenautomatisierungs-Eigenschaften.

Ereignisse

Der Ereignismechanismus in UI-Automatisierung ist im Gegensatz zu dem in Active Accessibility nicht vom Windows-Ereignisrouting abhängig (welches eng mit Fensterhandles verbunden ist) und erfordert keine Einrichtung von Hooks durch die Clientanwendung. Abonnements für Ereignisse können nicht nur für spezielle Ereignisse optimiert werden, sondern für bestimmte Teile der Struktur. Anbieter können außerdem das Aufrufen von Ereignissen optimieren, indem nachverfolgt wird, welche Ereignisse überwacht werden.

Darüber hinaus ist es für Clients leichter die Elemente abzurufen, welche Ereignisse auslösen, da diese direkt an den Ereignisrückruf übergeben werden. Eigenschaften des Elements werden automatisch vorab abgerufen, wenn eine Cacheanforderung aktiv war, während das Ereignis vom Client abonniert wurde.

In der folgenden Tabelle wird die Entsprechung von Active Accessibility-WinEvents und UI-Automatisierung-Ereignissen dargestellt.

WinEvent

UI-Automatisierung-Ereignisbezeichner

EVENT_OBJECT_ACCELERATORCHANGE

AcceleratorKeyProperty-Eigenschaftenänderung

EVENT_OBJECT_CONTENTSCROLLED

Änderung der Eigenschaft VerticalScrollPercentProperty oder HorizontalScrollPercentProperty für die entsprechenden Bildlaufleisten

EVENT_OBJECT_CREATE

StructureChangedEvent

EVENT_OBJECT_DEFACTIONCHANGE

Keine Entsprechung

EVENT_OBJECT_DESCRIPTIONCHANGE

Keine genaue Entsprechung; eventuell Änderung der Eigenschaft HelpTextProperty oder LocalizedControlTypeProperty

EVENT_OBJECT_DESTROY

StructureChangedEvent

EVENT_OBJECT_FOCUS

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

In Active Accessibility nicht einheitlich verwendet. In UI-Automatisierung 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 durch geänderte Eigenschaften ausgelöste Ereignisse

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

Änderung der Eigenschaft VerticalScrollPercentProperty oder HorizontalScrollPercentProperty

EVENT_SYSTEM_SCROLLINGSTART

Änderung der Eigenschaft VerticalScrollPercentProperty oder HorizontalScrollPercentProperty

EVENT_SYSTEM_SOUND

Keine Entsprechung

EVENT_SYSTEM_SWITCHEND

Keine Entsprechung, ein AutomationFocusChangedEvent-Ereignis signalisiert jedoch, dass eine neue Anwendung den Fokus übernommen hat.

EVENT_SYSTEM_SWITCHSTART

Keine Entsprechung

Keine Entsprechung

CurrentViewProperty-Eigenschaftenänderung

Keine Entsprechung

ValueProperty-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

ValueProperty-Eigenschaftenänderung

Keine Entsprechung

WindowVisualStateProperty-Eigenschaftenänderung

Keine Entsprechung

AsyncContentLoadedEvent-Eigenschaftenänderung

Keine Entsprechung

ToolTipOpenedEvent

Sicherheit

Einige IAccessible-Anpassungsszenarien erfordern, dass ein grundlegendes IAccessible umschlossen wird, über das dann die Aufrufe erfolgen. Dies hat Auswirkungen auf die Sicherheit, da eine teilweise vertrauenswürdige Komponente keinen Vermittler auf einem Codepfad darstellen sollte.

Mit dem UI-Automatisierung-Modell müssen Anbieter Aufrufe nicht mehr über anderen Anbietercode ausführen. Die gesamte notwendige Aggregation wird vom UI-Automatisierung-Basisdienst durchgeführt.

Siehe auch

Weitere Ressourcen

Grundlagen der Benutzeroberflächenautomatisierung