Freigeben über


Benutzeroberflächenautomatisierung und Microsoft Active Accessibility

HinweisHinweis

Diese Dokumentation ist für .NET Framework-Entwickler vorgesehen, die die verwalteten UI Automation-Klassen verwenden möchten, die im System.Windows.Automation-Namespace definiert sind.Aktuelle Informationen zu UI Automation finden Sie unter Windows Automation API: UI Automation.

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

In diesem Thema werden die wesentlichen Features von UI Automation 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 Automation (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 Automation unterstützt, wodurch eine überbrückende Unterstützung für Active Accessibility-Clients besteht. Nur Clients, die speziell für UI Automation geschrieben sind, können die Barrierefreiheitsfeatures 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 Automation 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 Automation-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 Automation verfügbar macht, sind die beiden Modelle nur eingeschränkt kompatibel.

Benutzeroberflächenelemente

Active Accessibility stellt UI-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 Automation 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 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 UI ü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 Automation vereinfacht die Aufgabe, dem Benutzer die UI 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 Automation sind alle UI-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 Automation 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 Grundleisten-Steuerelement ordnungsgemäß zu implementieren. UI Automation 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 UI 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 UI ist auf die Funktionsweise von IAccessible beschränkt.

Im Gegensatz dazu entkoppelt UI Automation 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 UI-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 Automation 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 Automation-Steuerelementtypen.

Active Accessibility-Rolle

UI Automation-Steuerelementtyp

ROLE_SYSTEM_PUSHBUTTON

Button

ROLE_SYSTEM_CLIENT

Calendar

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

Edit

ROLE_SYSTEM_GROUPING

Gruppe

ROLE_SYSTEM_LIST

Header

ROLE_SYSTEM_COLUMNHEADER

Headerelement

ROLE_SYSTEM_LINK

Link

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

Registerkarte

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

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

get_accHelpTopic

Nicht unterstützt in UI Automation

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

Active Accessibility-Zustand

UI Automation-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 Automation keine Entsprechung.

Active Accessibility-Zustand

Hinweise

STATE_SYSTEM_BUSY

In UI Automation nicht verfügbar

STATE_SYSTEM_DEFAULT

In UI Automation nicht verfügbar

STATE_SYSTEM_ANIMATED

In UI Automation 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 Automation 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 Automation nicht verfügbar

STATE_SYSTEM_PRESSED

In UI Automation nicht verfügbar

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

Ereignisse

Der Ereignismechanismus in UI Automation 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 Auslösen 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 Automation-Ereignissen dargestellt.

WinEvent

UI Automation-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 Automation 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

Änderung der CurrentViewProperty-Eigenschaft

Keine Entsprechung

Änderung der HorizontallyScrollableProperty-Eigenschaft

Keine Entsprechung

Änderung der VerticallyScrollableProperty-Eigenschaft

Keine Entsprechung

Änderung der HorizontalScrollPercentProperty-Eigenschaft

Keine Entsprechung

Änderung der VerticalScrollPercentProperty-Eigenschaft

Keine Entsprechung

Änderung der HorizontalViewSizeProperty-Eigenschaft

Keine Entsprechung

Änderung der VerticalViewSizeProperty-Eigenschaft

Keine Entsprechung

Änderung der ToggleStateProperty-Eigenschaft

Keine Entsprechung

Änderung der WindowVisualStateProperty-Eigenschaft

Keine Entsprechung

AsyncContentLoadedEvent-Ereignis

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 Automation-Modell müssen Anbieter Aufrufe nicht mehr über anderen Anbietercode ausführen. Die gesamte notwendige Aggregation wird vom UI Automation-Basisdienst durchgeführt.

Siehe auch

Weitere Ressourcen

Grundlagen der Benutzeroberflächenautomatisierung