Vue d'ensemble d'UI Automation

Notes

Cette documentation s’adresse aux développeurs .NET Framework qui souhaitent utiliser les classes UI Automation managées définies dans l’espace de noms System.Windows.Automation. Pour obtenir les dernières informations sur UI Automation, consultez API Windows Automation : UI Automation.

L’Automation de l’interface utilisateur Microsoft est la nouvelle infrastructure d’accessibilité pour Microsoft Windows, disponible sur tous les systèmes d’exploitation qui prennent en charge Windows Presentation Foundation (WPF).

L’Automation de l’interface utilisateur fournit un accès par programmation à la plupart des éléments d’interface utilisateur du bureau, permettant ainsi aux produits de technologie d’assistance tels que les lecteurs d’écran de fournir aux utilisateurs finaux des informations sur l’interface utilisateur et de manipuler l’interface utilisateur par d’autres moyens que l’entrée standard. L’Automation de l’interface utilisateur permet également aux scripts de test automatisés d’interagir avec l’interface utilisateur.

Notes

L’Automation de l’interface utilisateur n’active pas la communication entre les processus démarrés par différents utilisateurs via la commande Exécuter en tant que.

Les applications clientes UI Automation peuvent être écrites avec l’assurance qu’elles fonctionneront sur plusieurs infrastructures. Le noyau de l’Automation de l’interface utilisateur masque toute les différences des infrastructures sous-jacentes à plusieurs parties de l’interface utilisateur. Par exemple, la propriété Content d’un bouton WPF, la propriété Caption d’un bouton Win32 et la propriété ALT d’une image HTML sont toutes mappées à une seule propriété, Name, dans la vue Automation de l’interface utilisateur.

L’Automation de l’interface utilisateur fournit des fonctionnalités complètes sur les systèmes d’exploitation Windows pris en charge exécutant .NET Framework (voir Configuration requise de .NET Framework) ou des versions de .NET Core à partir de .NET Core 3.0.

Les fournisseurs d’Automation de l’interface utilisateur fournissent un support pour applications clientes Microsoft Active Accessibility via un service de liaison intégré.

Fournisseurs et clients

L’Automation de l’interface utilisateur possède quatre composants principaux, comme le montre le tableau suivant.

Composant Description
API du fournisseur (UIAutomationProvider.dll et UIAutomationTypes.dll) Ensemble de définitions d’interface qui sont implémentées par des fournisseurs UI Automation, objets qui fournissent des informations sur les éléments d’interface utilisateur, et qui répondent à l’entrée de programmation.
API client (UIAutomationClient.dll et UIAutomationTypes.dll) Ensemble de types destinés au code managé qui permet aux applications clientes UI Automation d’obtenir des informations sur l’interface utilisateur et d’envoyer l’entrée aux contrôles.
UiAutomationCore.dll Code sous-jacent (parfois appelé noyau de l’Automation de l’interface utilisateur) qui gère la communication entre fournisseurs et clients.
UIAutomationClientsideProviders.dll Ensemble de fournisseurs UI Automation pour les contrôles hérités standard. (Les contrôles WPF prennent en charge de manière native l’Automation de l’interface utilisateur.) Cette prise en charge est automatiquement disponible pour les applications clientes.

Du point de vue des développeurs de logiciels, il existe deux façons d’utiliser l’Automation de l’interface utilisateur : pour créer une prise en charge pour les contrôles personnalisés (à l’aide de l’API fournisseur) et pour créer des applications qui utilisent le noyau d’Automation de l’interface utilisateur pour communiquer avec les éléments d’interface utilisateur (à l’aide de l’API client). Selon votre objectif, reportez-vous à différentes parties de cette documentation. Les sections suivantes vous permettront d’approfondir les concepts et d’obtenir des connaissances pratiques.

Section Sujet Public visé
Notions de base de l’Automation de l’interface utilisateur (cette section) Présentation générale des concepts. Toutes
Fournisseurs UI Automation pour le code managé Présentations et rubriques « Comment » destinées à vous aider à utiliser l’API du fournisseur. Développeurs de contrôles.
Clients UI Automation pour le code managé Présentations et rubriques « Comment » destinées à vous aider à utiliser l’API client. Développeurs d’applications clientes
Modèles de contrôle UI Automation Informations sur la façon dont les fournisseurs doivent implémenter les modèles de contrôle et sur les fonctionnalités disponibles aux clients. Toutes
Modèles de texte UI Automation Informations sur la façon dont les fournisseurs doivent implémenter le modèle de contrôle Text et sur les fonctionnalités disponibles aux clients. Toutes
Types de contrôle UI Automation Informations sur les propriétés et les modèles de contrôle pris en charge par les différents types de contrôle. Toutes

Le tableau suivant répertorie les espaces de noms de l’Automation de l’interface utilisateur, les DLL qui les contiennent et le public qui les utilise.

Espace de noms DLL référencées Public visé
System.Windows.Automation UIAutomationClientUIAutomationTypes Développeurs de clients d’Automation de l’interface utilisateur ; permettent de rechercher des objets AutomationElement, d’inscrire des événements d’Automation de l’interface utilisateur, et d’utiliser des modèles de contrôle de l’Automation de l’interface utilisateur.
System.Windows.Automation.Provider UIAutomationProviderUIAutomationTypes Développeurs de fournisseurs d’Automation de l’interface utilisateur pour des infrastructures autres que WPF.
System.Windows.Automation.Text UIAutomationClientUIAutomationTypes Développeurs de fournisseurs d’Automation de l’interface utilisateur pour des infrastructures autres que WPF ; permettent d’implémenter le modèle de contrôle TextPattern.
System.Windows.Automation.Peers PresentationFramework Développeurs de fournisseurs d’Automation de l’interface utilisateur pour WPF.

Modèle UI Automation

L’Automation de l’interface utilisateur expose chaque élément de l’interface utilisateur aux applications clientes en tant que AutomationElement. Les éléments sont contenus dans une arborescence, avec le bureau comme élément racine. Les clients peuvent filtrer l’affichage brut de l’arborescence sous la forme d’une vue de contrôle ou d’une vue de contenu. Les applications peuvent également créer des vues personnalisées.

Les objetsAutomationElement exposent les 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éfinit son apparence et ses fonctionnalités de base comme une entité reconnaissable unique : par exemple, un bouton ou une case à cocher.

En outre, les éléments exposent des modèles de contrôle qui fournissent des propriétés spécifiques à leurs types de contrôle. Les modèles de contrôle exposent également des méthodes qui permettent aux clients d’obtenir des informations supplémentaires sur l’élément et de fournir une entrée.

Notes

Il n’existe pas de correspondance bijective entre les types de contrôle et les modèles de contrôle. Un modèle de contrôle peut être pris en charge par plusieurs types de contrôle, et un contrôle peut prendre en charge plusieurs modèles de contrôle, dont chacun expose différents aspects de son comportement. Par exemple, une zone de liste déroulante possède au moins deux modèles de contrôle : un qui représente sa capacité de développement et de réduction, et l’autre qui représente le mécanisme de sélection. Pour découvrir les caractéristiques spécifiques, consultez UI Automation Control Types.

L’Automation de l’interface utilisateur fournit également des informations aux applications clientes via des événements. Contrairement à WinEvents, les événements d’Automation de l’interface utilisateur ne sont pas basés sur un mécanisme de diffusion. Les clients d’Automation de l’interface utilisateur s’inscrivent pour des notifications d’événements spécifiques et peuvent demander que des propriétés d’Automation de l’interface utilisateur spécifiques et des informations de modèle de contrôle soient passées à leurs gestionnaires d’événements. En outre, un événement UI Automation contient une référence à l’élément qui l’a déclenché. Les fournisseurs peuvent améliorer les performances en déclenchant des événements de manière sélective, selon que des clients les écoutent ou non.

Voir aussi