Iaccessibleex-Implementierungs Richtlinien
Microsoft UI Automation Core kann alle Eigenschaften von Microsoft Active Accessibility für alle zugänglichen Objekte abrufen, die von einem Server über die Schnittstelle " IAccessible " verfügbar gemacht werden. Beim Implementieren von iaccessibleexmüssen Sie nur die Aspekte der UI-Funktionalität verfügbar machen, die andernfalls nicht durch vorhandene Microsoft Active Accessibility-Eigenschaften verfügbar gemacht werden können. In diesem Thema werden die Benutzeroberflächenautomatisierungs-Eigenschaften und Steuerelement Muster beschrieben, die Benutzeroberflächen Funktionen darstellen, die keine Entsprechung in Microsoft Active Accessibility – Sie sind die Eigenschaften und Steuerelement Muster, die Sie in einer iaccessibleex -Implementierung verfügbar machen können.
Dieses Thema enthält folgende Abschnitte:
- Eigenschaften
- Steuerelement Muster
- Ereignisse für geänderte Benutzeroberflächenautomatisierungs-Eigenschaften
- Zugehörige Themen
Eigenschaften
Die folgenden Eigenschaften der Benutzeroberflächen Automatisierung überlappen sich nicht mit der Microsoft Active Accessibility-Funktionalität. Sie können in einer iaccessibleex -Implementierung verwendet werden:
- Ariaproperties
- Ariarole
- AutomationID
- ClassName
- Clickablepoint
- Controllerfor
- Kultur
- DescribedBy
- Flowsto
- FrameworkId
- IsContentElement
- IsControlElement
- Isdatavalidforform
- Isrequirements dforform
- ItemStatus
- ItemType
- LabeledBy
- LocalizedControlType
- Orientation
Obwohl sich die Eigenschaften der Benutzeroberflächen Automatisierung von AcceleratorKey und Accesskey mit der Eigenschaft accKeyboardShortcut Microsoft Active Accessibility überschneiden, können Sie Sie in einer iaccessibleex -Implementierung für Steuerelemente verwenden, die über eine Zugriffstaste und eine Zugriffstaste verfügen. Ebenso überlappt die ControlType-Benutzeroberflächenautomatisierungs-Eigenschaft mit der Microsoft Active Accessibility accRole-Eigenschaft, aber Sie können Sie in einer iaccessibleex -Implementierung weiterhin verwenden, um eine spezifischere Rolle für ein Steuerelement zu definieren.
Da die folgenden Eigenschaften des Benutzeroberflächenautomatisierungs-Elements bereits von den Eigenschaften von Microsoft Active Accessibility abgedeckt werden, ist es nicht erforderlich, Sie in einer iaccessibleex -Implementierung zu verwenden.
| Benutzeroberflächenautomatisierungs-Eigenschaft | Microsoft Active Accessibility-Entsprechung |
|---|---|
| Boundingrechteck | accLocation |
| HasKeyboardFocus | accState, Zustands _ System _ fokussiert |
| isEnabled | accState, Zustands _ System nicht _ verfügbar |
| Iskeyboardfocverwendbar | accState, Zustands _ _ Systemfokus verwendbar |
| IsPassword | accState, Zustands _ System _ geschützt |
| HelpText | accHelp |
| Name | accName |
| Nativewindowhandle | Windowfromaccessibleobject |
| IsOffscreen | accState, Status _ System _ unsichtbarStatus / _ System _ Offscreen |
| ProcessId | Bereitgestellt von UI Automation Core |
Für jede nicht unterstützte Benutzeroberflächenautomatisierungs-Eigenschaft sollte Ihre Implementierung der IRawElementProviderSimple:: GetPropertyValue -Methode den pRetVal -Parameter auf VT _ Empty festlegen und S OK zurückgeben _ . Die Rückgabe von UIA _ E _ NotSupported kann dazu führen, dass der MSAA-to-UIA-Proxy die Standard Zuordnung für die entsprechende Eigenschaft entfernt.
Steuerelement Muster
Die folgenden Benutzeroberflächenautomatisierungs-Steuerelement Muster überlappen sich nicht mit der Microsoft Active Accessibility-Funktionalität Sie können in einer iaccessibleex -Implementierung verwendet werden:
- Andocken
- Erweitern_Reduzieren
- Raster
- GridItem
- MultipleView
- RangeValue
- Scroll
- ScrollItem
- SynchronizedInput
- Tabelle
- TableItem
- Transformieren
Für die RangeValue-und Transformations-Steuerelement Muster überlappen sich einige Methoden zwischen dem Benutzeroberflächenautomatisierungs-Steuerelement Muster und den Microsoft Active Accessibility-Methoden In diesen Fällen müssen beide implementiert werden. Beispielsweise müssen sowohl die IAccessible:: get- _ accValue -als auch die IAccessible::p UT- _ accValue -Methode von Microsoft Active Accessibility implementiert werden. Dies gilt auch für die Benutzeroberflächenautomatisierungs-Methode IRangeValueProvider:: Value und IRangeValueProvider:: SetValue . Intern kann eine Implementierung Code für diese freigeben. Diese Anforderung, beide Sätze zu implementieren, vermeidet eine partielle Implementierung einer Muster Schnittstelle, während die IAccessible -Schnittstelle beibehalten wird, die von vorhandenen Microsoft Active Accessibility-Clients verwendet werden kann.
Die folgenden Steuerelement Muster für die Benutzeroberflächen Automatisierung sind nicht erforderlich, wenn das-Steuerelement eine der unten aufgeführten Rollen aufweist. Andernfalls sollten Sie explizit unterstützt werden, wenn Sie relevant sind.
| Steuerelement Muster für Benutzeroberflächen Automatisierung | Microsoft Active Accessibility-Rolle |
|---|---|
| InvokePattern | Rolle _ System _ PUSHBUTTON, Rollen _ System- _ MenuItem, _ _ ButtonDropDown-DropdownListe, Rollen _ System _und eine beliebige andere Rolle, bei der der Wert der accdefaultaction-Eigenschaft nicht null ist. |
| "SelectionItemPattern" | Rolle _ Optionsfeld "System _ ListItem", " Rollen _ System _ " |
| SelectionPattern | Liste der Rollen _ Systeme _ |
| TogglePattern | _ _ Kontrollkästchen für Rollen System |
| ValuePattern | Rolle _ System _ Text (wenn er nicht schreibgeschützt ist), role _ System _ ProgressBar, _ _ ComboBox für das Rollensystemund jede andere Rolle, wenn der Wert der accValue-Eigenschaft nicht null ist. |
| WindowPattern | Wird automatisch auf den Microsoft-Win32- HWND-s der obersten Ebene unterstützt. |
Ereignisse für geänderte Benutzeroberflächenautomatisierungs-Eigenschaften
Zusätzlich zu den Ereignissen, die für IAccessibledefiniert sind, werden auch die folgenden Ereignis Bezeichner definiert, die mit einer iaccessibleex -Implementierung als geänderte Ereignisse für die Benutzeroberflächen Automatisierung verwendet werden können. Diese verwenden denselben Mechanismus wie die für IAccessible definierten Ereignisse. Weitere Informationen finden Sie unter WinEvents.
Für die oben aufgeführten Ereignisse, bei denen ein Ereignis _ Objekt _ Wert angezeigt wird, sollte die iaccessibleex -Implementierung dieses Ereignis zusätzlich zum aufgelisteten geänderten Ereignis auslösen. Dadurch kann vorhandener iaccessibleex -Client Code weiter ausgeführt werden, während gleichzeitig präzisetere Ereignis Informationen an interessierte Clients übermittelt werden.
Zugehörige Themen