Fonctionnement de l’accessibilité active
Microsoft Active Accessibility est conçu pour aider les aides à l’accessibilité, appelées clients, à interagir avec les éléments d’interface utilisateur standard et personnalisés d’autres applications et du système d’exploitation. Un client Microsoft Active Accessibility est tout programme qui utilise Microsoft Active Accessibility pour accéder, identifier ou manipuler les éléments d’interface utilisateur d’une application. Les clients incluent des aides à l’accessibilité, des outils de test automatisés et certaines applications de formation basées sur ordinateur.
À l’aide de Microsoft Active Accessibility, une application cliente peut :
- Recherchez des informations ; par exemple, à propos d’un élément d’interface utilisateur à un emplacement particulier.
- Recevoir des notifications lorsque les informations changent ; par exemple, lorsqu’un contrôle devient grisé ou lorsqu’une chaîne de texte change.
- Effectuer des actions qui affectent l’interface utilisateur ou le contenu du document ; par exemple, cliquez sur un bouton push, faites défiler un menu et choisissez une commande de menu.
Les applications qui interagissent avec les clients et fournissent des informations sont appelées serveurs. Un serveur utilise Microsoft Active Accessibility pour fournir des informations sur ses éléments d’interface utilisateur aux clients. Tout contrôle, module ou application qui utilise Microsoft Active Accessibility pour exposer des informations sur son interface utilisateur est considéré comme un serveur Microsoft Active Accessibility. Les serveurs communiquent avec les clients en envoyant des notifications d’événements (par exemple, en appelant NotifyWinEvent) et en répondant aux demandes clientes d’accès aux éléments d’interface utilisateur (comme la gestion des messages WM_GETOBJECT envoyés à partir d’OLEACC). Les serveurs exposent des informations via l’interface IAccessible .
À l’aide de Microsoft Active Accessibility, une application serveur peut :
- Fournissez des informations sur ses objets d’interface utilisateur personnalisés et le contenu de ses fenêtres clientes.
- Envoyer des notifications lorsque son interface utilisateur change.
Par exemple, pour permettre à un utilisateur de sélectionner des commandes verbalement à partir d’une barre d’outils personnalisée de traitement de texte, un programme de reconnaissance vocale doit disposer d’informations sur cette barre d’outils. Le traitement de texte devrait donc rendre ces informations disponibles. Microsoft Active Accessibility permet au traitement de texte d’exposer des informations sur sa barre d’outils personnalisée et au programme de reconnaissance vocale d’obtenir ces informations.
Applications clientes et accessibilité active
Un client Microsoft Active Accessibility doit être averti lorsque l’interface utilisateur du serveur a changé afin de pouvoir transmettre ces informations à l’utilisateur. Pour s’assurer que le client est informé des modifications apportées à l’interface utilisateur, il utilise un mécanisme appelé Événements de fenêtre, ou WinEvents, pour s’inscrire et recevoir des notifications. Pour plus d’informations, consultez WinEvents.
Pour en savoir plus sur et manipuler un élément d’interface utilisateur particulier, les clients utilisent l’interface COM (Microsoft Active Accessibility Component Object Model), IAccessible.
Un client peut récupérer un objet IAccessible pour un élément d’interface utilisateur de quatre manières :
- Appelez AccessibleObjectFromWindow et passez le handle de fenêtre de l’élément d’interface utilisateur.
- Appelez AccessibleObjectFromPoint et passez un emplacement d’écran qui se trouve dans le rectangle englobant de l’élément d’interface utilisateur.
- Définissez un hook WinEvent, recevez une notification et appelez AccessibleObjectFromEvent pour récupérer un pointeur d’interface IAccessible pour l’élément d’interface utilisateur qui a généré l’événement.
- Appelez une méthode IAccessible telle qu’accNavigate ou get_accParent pour passer à un autre objet IAccessible .