Partager via


spécification UI Automation

Cette rubrique fournit une vue d’ensemble de la spécification Microsoft UI Automation, qui constitue la base de l’implémentation Windows de UI Automation. La spécification UI Automation peut être prise en charge sur des plateformes autres que Microsoft Windows. Pour plus d’informations, consultez Spécification UI Automation

Cette rubrique contient les sections suivantes :

Introducton

La spécification UI Automation fournit un accès programmatique flexible aux éléments d’interface utilisateur sur le bureau Windows, ce qui permet aux produits de technologie d’assistance tels que les lecteurs d’écran de fournir des informations sur l’interface utilisateur aux utilisateurs finaux et de manipuler l’interface utilisateur par d’autres moyens que l’entrée standard.

UI Automation a une portée plus large qu’une simple définition d’interface. Il offre :

  • Un modèle objet et des fonctions qui permettent aux applications clientes de recevoir facilement des événements, de récupérer des valeurs de propriété et de manipuler des éléments d’interface utilisateur.
  • Infrastructure de base pour la recherche et l’extraction au-delà des limites de processus.
  • Ensemble d’interfaces permettant aux fournisseurs d’exprimer l’arborescence, les propriétés générales et les fonctionnalités des éléments d’interface utilisateur.
  • Propriété « type de contrôle » qui permet aux clients et aux fournisseurs d’indiquer clairement les propriétés, fonctionnalités et structure communes d’un objet d’interface utilisateur.

UI Automation améliore l’accessibilité active de Microsoft en :

  • Activation de clients hors processus efficaces, tout en continuant à autoriser l’accès in-process.
  • Exposition d’informations supplémentaires sur l’interface utilisateur d’une manière qui permet aux clients d’être hors processus.
  • Coexister avec Microsoft Active Accessibility et en tirer parti sans hériter de ses limitations. Pour plus d’informations, consultez Microsoft Active Accessibility and UI Automation Compare.
  • Fournir une alternative à IAccessible qui est simple à implémenter.

Implémentation de la spécification UI Automation dans les interfaces com (Component Object Model) de Fonctionnalités Windows et interfaces managées.

UI Automation, éléments

UI Automation expose chaque élément de l’interface utilisateur aux applications clientes en tant qu’élément d’automatisation. Les fournisseurs fournissent des valeurs de propriété pour chaque élément. Les éléments sont exposés sous forme d’arborescence, avec le bureau comme élément racine.

Les éléments Automation exposent des propriétés communes des éléments d’interface utilisateur qu’ils représentent. L’une de ces propriétés est le type de contrôle, qui décrit son apparence et ses fonctionnalités de base (par exemple, un bouton ou une zone de case activée).

arbre UI Automation

L’arborescence UI Automation représente l’ensemble de l’interface utilisateur : l’élément racine est le bureau actuel et les éléments enfants sont des fenêtres d’application. Chacun de ces éléments enfants peut contenir des éléments représentant des menus, des boutons, des barres d’outils, etc. Ces éléments peuvent à leur tour contenir des éléments tels que des éléments de liste, comme le montre l’illustration suivante.

capture d’écran montrant l’arborescence ui Automation

N’oubliez pas que l’ordre des frères et sœurs dans l’arbre UI Automation est très important. Les objets qui sont les uns à côté des autres visuellement doivent également être en regard les uns des autres dans l’arborescence UI Automation.

UI Automation fournisseurs pour un contrôle particulier prennent en charge la navigation entre les éléments enfants de ce contrôle. Toutefois, les fournisseurs ne sont pas concernés par la navigation entre ces sous-arborescences de contrôle. Cela est géré par le noyau UI Automation, à partir des informations issues des fournisseurs de fenêtres par défaut.

Pour aider les clients à traiter plus efficacement les informations d’interface utilisateur, l’infrastructure prend en charge d’autres affichages de l’arborescence d’automatisation : affichage brut, vue de contrôle et affichage de contenu. Comme le montre le tableau suivant, le type de filtrage détermine les vues et le client définit l’étendue d’une vue.

Arborescence Automation Description
Affichage brut Arborescence complète des objets d’élément Automation pour lesquels le bureau est la racine.
Vue de contrôle Sous-ensemble de la vue brute qui correspond étroitement à la structure de l’interface utilisateur à mesure que l’utilisateur la perçoit.
Vue de contenu Sous-ensemble de l’affichage de contrôle qui contient le contenu le plus pertinent pour l’utilisateur, comme les valeurs d’une zone de liste déroulante.

 

Pour plus d’informations, consultez Vue d’ensemble de l’arborescence UI Automation.

propriétés UI Automation

La spécification UI Automation définit deux types de propriétés : les propriétés d’élément Automation et les propriétés de modèle de contrôle. Les propriétés de l’élément Automation s’appliquent à la plupart des contrôles, en fournissant des informations fondamentales sur l’élément, telles que son nom. Les propriétés du modèle de contrôle s’appliquent aux modèles de contrôle, qui sont décrits ci-dessous.

Contrairement à Microsoft Active Accessibility, chaque propriété UI Automation est identifiée par un GUID et un nom programmatique, ce qui facilite l’introduction de nouvelles propriétés.

Pour plus d'informations, consultez UI Automation Properties Overview.

Modèles de contrôle UI Automation

Un modèle de contrôle décrit un aspect particulier des fonctionnalités d’un élément Automation. Par exemple, un simple contrôle « click-able » comme un bouton ou un lien hypertexte doit prendre en charge le modèle de contrôle Invoke pour représenter l’action « click ».

Chaque modèle de contrôle est une représentation canonique des fonctions et fonctionnalités d’interface utilisateur possibles. L’implémentation actuelle de UI Automation définit 22 modèles de contrôle. L’API Windows Automation peut également prendre en charge les modèles de contrôle personnalisés. Contrairement aux propriétés d’état ou de rôle Microsoft Active Accessibility, un élément Automation peut prendre en charge plusieurs modèles de contrôle UI Automation.

Pour plus d'informations, consultez UI Automation Control Patterns Overview.

Types de contrôle UI Automation

Un type de contrôle est une propriété d’élément Automation qui spécifie un contrôle connu que l’élément représente. Actuellement, UI Automation définit trente-huit types de contrôles, notamment Button, CheckBox, ComboBox, DataGrid, Document, Hyperlink, Image, ToolTip, Tree et Window.

Avant de pouvoir affecter un type de contrôle à un élément, l’élément doit remplir certaines conditions, notamment une arborescence d’automatisation particulière, des valeurs de propriété, des modèles de contrôle et des événements. Toutefois, vous n’êtes pas limité à ceux-ci. Vous pouvez étendre un contrôle avec des modèles et des propriétés personnalisés, ainsi qu’avec les modèles prédéfinis.

Le nombre total de types de contrôles prédéfinis est considérablement inférieur à celui des rôles d’objet Microsoft Active Accessibility, car UI Automation modèles de contrôle peuvent être combinés pour exprimer un plus grand ensemble de fonctionnalités, contrairement aux rôles Microsoft Active Accessibility.

Pour plus d'informations, consultez UI Automation Control Types Overview.

événements UI Automation

UI Automation événements informent les applications des modifications et des actions effectuées avec les éléments d’automatisation. Il existe quatre types différents d’événements UI Automation, et ils ne signifient pas nécessairement que l’état visuel de l’interface utilisateur a changé. Le modèle d’événement UI Automation est indépendant de l’infrastructure WinEvent dans Windows, bien que l’API Automation Windows rend les événements UI Automation interopérables avec l’infrastructure Microsoft Active Accessibility.

Pour plus d'informations, consultez UI Automation Events Overview.

Spécification UI Automation, Vue d’ensemble de l’API Windows Automation