Partager via


Annexe G : Pont d’accessibilité actif pour UI Automation

Cette annexe contient des informations sur Microsoft Active Accessibility Bridge. Le pont d’accessibilité active permet aux applications qui implémentent Microsoft Active Accessibility d’accéder aux applications qui implémentent Microsoft UI Automation. En reliant Microsoft Active Accessibility et UI Automation ensemble, les clients basés sur l’accessibilité Active Microsoft, tels qu’un lecteur d’écran sur Windows XP, peuvent interagir par programmation avec des fournisseurs de UI Automation de UI Automation, tels qu’un Windows Presentation Foundation Application (WPF). Il fait partie de l’API UI Automation Native Core (UIAutomationCore.dll).

Le pont d’accessibilité active mappe UI Automation propriétés et événements à ceux de Microsoft Active Accessibility. Les tableaux suivants mappent les méthodes et propriétés de l’interface IAccessible de Microsoft Active Accessibility à UI Automation. Utilisez ces tableaux pour déterminer les pratiques de codage appropriées pour le développement de votre client Microsoft Active Accessibility.

Propriété IAccessible Propriété UI Automation
get_accChild Non implémenté
get_accChildCount Dérivé de UI Automation arborescence
get_accParent Dérivé de UI Automation arborescence
accNavigate Non implémenté

 

Propriétés et méthodes descriptives

Iaccessible Automatisation de l’interface utilisateur
accDoDefaultAction Pour plus d’informations, consultez le tableau Types de contrôles et accRole.
get_accDefaultAction Pour plus d’informations, consultez le tableau Types de contrôles et accRole.
get_accKeyboardShortcut AccessKeyPropertyor AcceleratorKeyProperty; si les deux sont présents, AccessKeyProperty est prioritaire.
get_accName NameProperty
get_accRole ControlTypeProperty. Pour plus d’informations, consultez le tableau Types de contrôles et accRole.
get_accState Pour plus d’informations, consultez le tableau Types de contrôles et accRole.
get_accValue ValueProperty; pris en charge sur les types de contrôles qui prennent en charge le modèle de contrôle Value ou le modèle de contrôle rangeValue . Les valeurs RangeValue sont cohérentes avec le comportement Microsoft Active Accessibility (0 à 100). Les éléments de valeur utilisent une chaîne.
put_accValue ValueProperty; pris en charge sur les types de contrôles qui prennent en charge le modèle de contrôle Value ou le modèle de contrôle RangeValue
get_accHelp HelpTextProperty
get_accDescription Non implémenté
get_accHelpTopic Non implémenté

 

Types de contrôle et accRole

Le rôle par défaut Microsoft Active Accessibility est ROLE_SYSTEM_CLIENT. Si aucune action par défaut n’est trouvée pour un type de contrôle, le pont d’accessibilité actif utilise également les modèles de contrôle disponibles suivants : Invoke, ExpandCollapse et Toggle. Par exemple, un contrôle groupbox n’a aucune action par défaut. S’il prend en charge ExpandCollapse, le pont d’accessibilité actif l’utilise pour l’action par défaut.

Type de contrôle UI Automation accRole Action par défaut
Button ROLE_SYSTEM_PUSHBUTTON Appuyer sur
Calendrier ROLE_SYSTEM_CLIENT None
CheckBox ROLE_SYSTEM_CHECKBUTTON Cochez/Désélectionnez (bascule)
ComboBox ROLE_SYSTEM_COMBOBOX None
Custom ROLE_SYSTEM_CLIENT Aucune
DataGrid ROLE_SYSTEM_LIST Aucune
DataItem ROLE_SYSTEM_LISTITEM Aucune
Document ROLE_SYSTEM_DOCUMENT Aucune
Modifier ROLE_SYSTEM_TEXT Aucune
Groupe ROLE_SYSTEM_GROUPING Aucune
En-tête ROLE_SYSTEM_LIST Aucune
HeaderItem ROLE_SYSTEM_COLUMNHEADER Cliquez sur
Lien hypertexte ROLE_SYSTEM_LINK Jump (mappe à Invoke)
Image ROLE_SYSTEM_GRAPHIC None
Liste ROLE_SYSTEM_LIST Aucune
ListItem ROLE_SYSTEM_LISTITEM Double-cliquez
Menu ROLE_SYSTEM_MENUPOPUP None
MenuBar ROLE_SYSTEM_MENUBAR None
MenuItem ROLE_SYSTEM_MENUITEM Exécuter ou Ouvrir/Fermer pour les éléments de menu qui ont des enfants.
Volet ROLE_SYSTEM_PANE Aucune
ProgressBar ROLE_SYSTEM_PROGRESSBAR None
RadioButton ROLE_SYSTEM_RADIOBUTTON Vérification
Scrollbar ROLE_SYSTEM_SCROLLBAR None
Curseur ROLE_SYSTEM_SLIDER None
Spinner ROLE_SYSTEM_SPINBUTTON None
SplitButton ROLE_SYSTEM_SPLITBUTTON None
StatusBar ROLE_SYSTEM_STATUSBAR Aucune
Onglet ROLE_SYSTEM_PAGETABLIST Aucune
TabItem ROLE_SYSTEM_PAGETAB Commutateur
Table ROLE_SYSTEM_TABLE None
Text ROLE_SYSTEM_STATICTEXT None
Thumb ROLE_SYSTEM_INDICATOR None
TitleBar ROLE_SYSTEM_TITLEBAR Aucune
Toolbar ROLE_SYSTEM_TOOLBAR None
ToolTip ROLE_SYSTEM_TOOLTIP None
Arborescence ROLE_SYSTEM_OUTLINE None
TreeItem ROLE_SYSTEM_OUTLINEITEM Développer ou réduire
Window ROLE_SYSTEM_WINDOW None

 

propriétés UI Automation et accState

accState Propriété UI Automation Déclencheurs changement d’état
STATE_SYSTEM_CHECKED Pour ControlType = « case à cocher », utilisez ToggleState.On. Pour « radiobutton », utilisez SelectionItemPattern::IsSelected Oui
STATE_SYSTEM_FOCUSABLE IsKeyboardFocusableProperty Non
STATE_SYSTEM_FOCUSED HasKeyboardFocusProperty Non
STATE_SYSTEM_PROTECTED IsPasswordProperty Non
STATE_SYSTEM_READONLY IsReadOnlyProperty (modèle de contrôle value et modèle de contrôle RangeValue) Non
STATE_SYSTEM_UNAVAILABLE IsEnabledProperty Oui
STATE_SYSTEM_LINKED ControlTypeProperty = « hyperlink » Non
STATE_SYSTEM_SELECTABLE SelectionItemPattern est pris en charge Non
STATE_SYSTEM_SELECTED IsSelectedProperty (modèle de contrôle SelectionItem) Non
STATE_SYSTEM_COLLAPSED ExpandCollapseState = Réduit Oui
STATE_SYSTEM_EXPANDED ExpandCollapseState = Expanded ou PartiellementExpanded Oui
STATE_SYSTEM_HASPOPUP Éléments de menu qui prennent en charge Développer/Réduire Non
STATE_SYSTEM_MIXED ToggleState = Indéterminé Non
STATE_SYSTEM_SIZEABLE IUIAutomationTransformPattern::CanResize Non
STATE_SYSTEM_MOVEABLE IUIAutomationTransformPattern::CanMove Non
STATE_SYSTEM_MULTISELECTABLE IUIAutomationSelectionPattern::CanSelectMultiple Non

 

Sélection et focus

Iaccessible Automatisation de l’interface utilisateur
get_accFocus IUIAutomation::FocusedElement
accSelect Pour plus d’informations, consultez la table propriétés UI Automation et accSelect SELFLAGs.
get_accSelection SelectionPattern::GetSelection

 

UI Automation Properties et accSelect SELFLAGs

accSelect SELFLAGs Propriété UI Automation
SELFLAG_NONE Non disponible
SELFLAG_TAKFOCUS IUIAutomationElement::SetFocus
SELFLAG_TAKESELECTION IUIAutomationSelectionItemPattern::Select
SELFLAG_ADDSELECTION IUIAutomationSelectionItemPattern::AddToSelection
SELFLAG_TAKEREMOVESELECTION IUIAutomationSelectionItemPattern::RemoveFromSelection
SELFLAG_EXTENDSELECTION Non disponible

 

Mappage spatial

Iaccessible Automatisation de l’interface utilisateur
accLocation BoundingRectangleProperty
accHitTest IRawElementProviderFragmentRoot::ElementProviderFromPoint

 

Événements

constantes d’événement System-Level Automatisation de l’interface utilisateur
EVENT_SYSTEM_MENUPOPUPSTART UIA_MenuOpenedEventId (Remarque : Doit case activée s’il s’agit d’une fenêtre contextuelle.)
EVENT_SYSTEM_MENUPOPUPEND UIA_MenuClosedEventId
EVENT_SYSTEM_MENUSTART UIA_MenuModeStartEventId
EVENT_SYSTEM_MENUEND UIA_MenuModeEndEventId
EVENT_SYSTEM_SOUND
EVENT_SYSTEM_ALERT
EVENT_SYSTEM_CAPTURESTART
EVENT_SYSTEM_CAPTUREEND
EVENT_SYSTEM_DIALOGSTART
EVENT_SYSTEM_DIALOGEND
EVENT_SYSTEM_MOVESIZESTART
EVENT_SYSTEM_MOVESIZEEND
EVENT_SYSTEM_CONTEXTHELPSTART
EVENT_SYSTEM_CONTEXTHELPEND Non pertinent
EVENT_SYSTEM_DRAGDROPSTART
EVENT_SYSTEM_DRAGDROPEND
EVENT_SYSTEM_SWITCHSTART Non pertinent
EVENT_SYSTEM_SWITCHEND Non pertinent
EVENT_SYSTEM_MINIMIZESTART
EVENT_SYSTEM_MINIMIZEEND
EVENT_SYSTEM_FOREGROUND
EVENT_SYSTEM_SCROLLINGSTART Non disponible
EVENT_SYSTEM_SCROLLINGEND Non disponible

 

constantes d’événement Object-Level Automatisation de l’interface utilisateur
EVENT_OBJECT_FOCUS AutomationFocusChangedEvent
EVENT_OBJECT_VALUECHANGE ValueProperty (modèle de contrôle de valeur et modèle de contrôle RangeValue)
EVENT_OBJECT_SELECTION ElementSelectedEvent (modèle de contrôle SelectionItem)
EVENT_OBJECT_SELECTIONADD ElementAddedToSelectionEvent (modèle de contrôle SelectionItem)
EVENT_OBJECT_SELECTIONREMOVE ElementRemovedFromSelectionEvent
EVENT_OBJECT_SELECTIONWITHIN ÉvénementsSelectionInvalidatedEvent
EVENT_OBJECT_STATECHANGE Consultez UI Automation propriétés et la table accState pour connaître les états qui déclenchent un changement d’état.