The IAccessibleEx Interface

Les contrôles qui n’ont pas de fournisseur Microsoft UI Automation, mais qui implémentent IAccessible, peuvent facilement être mis à niveau pour fournir des fonctionnalités UI Automation en implémentant l’interface IAccessibleEx. Cette interface permet au contrôle d’exposer UI Automation propriétés et modèles de contrôle, sans avoir besoin d’une implémentation complète d’interfaces de fournisseur UI Automation telles que IRawElementProviderFragment. Pour utiliser IAccessibleEx, IRawElementProviderFragment et toutes les autres interfaces UI Automation, incluez le fichier d’en-tête UIAutomation.h dans votre code source.

Par exemple, considérez un contrôle personnalisé qui a une valeur de plage. Le serveur Microsoft Active Accessibility pour le contrôle définit le rôle du contrôle et est en mesure de retourner sa valeur actuelle. Toutefois, étant donné que Microsoft Active Accessibility ne définit pas les propriétés minimales et maximales, le serveur ne dispose pas des moyens de retourner les valeurs minimales et maximales du contrôle. Un client UI Automation peut récupérer le rôle du contrôle, sa valeur actuelle et d’autres propriétés Microsoft Active Accessibility, car le UI Automation core peut les obtenir via IAccessible. Toutefois, sans accès à une interface IRangeValueProvider sur l’objet, UI Automation ne parvient pas non plus à récupérer les valeurs maximale et minimale.

Le développeur de contrôles peut fournir un fournisseur de UI Automation complet pour le contrôle, mais cela signifierait dupliquer une grande partie des fonctionnalités existantes de l’implémentation IAccessible : par exemple, la navigation et les propriétés courantes. Au lieu de cela, le développeur peut continuer à s’appuyer sur IAccessible pour fournir cette fonctionnalité, tout en ajoutant la prise en charge des propriétés spécifiques au contrôle via IRangeValueProvider.

Contenu de cette section

Infrastructure commune