Éléments d’interface utilisateur personnalisés

Les développeurs de serveurs conçoivent des objets accessibles en fonction de l’interface utilisateur d’une application. Étant donné que Active Accessibility implémente l’interface IAccessible pour le compte des éléments d’interface utilisateur fournis par le système , tels que les zones de liste, les menus et les contrôles TrackBar, vous devez implémenter l’interface IAccessible uniquement pour les types d’éléments d’interface utilisateur personnalisés suivants :

  • Contrôles personnalisés créés en inscrivant une classe de fenêtre définie par l’application
  • Contrôles personnalisés dessinés directement à l’écran qui n’ont pas de HWND associé
  • contrôles personnalisés tels que les contrôles Microsoft ActiveX et Java
  • Les contrôles ou les objets de la fenêtre client de l’application qui ne sont pas déjà exposés

Les contrôles et menus owner-drawn sont accessibles tant que vous suivez les instructions présentées dans raccourcis pour exposer des éléments d’interface utilisateur personnalisés. Si vous suivez ces instructions, vous n’avez pas besoin d’implémenter l’interface IAccessible pour les contrôles et les menus owner-drawn.

Dans la plupart des cas, les contrôles superclassé et sous-classé sont accessibles car le système gère les fonctionnalités de base du contrôle. Toutefois, si un contrôle sous-classé ou sous-classé modifie considérablement le comportement du contrôle fourni par le système sur lequel il est basé, vous devez implémenter l’interface IAccessible . Pour plus d’informations, consultez exposition de contrôles basés sur des contrôles système.

Si une application utilise uniquement des éléments d’interface utilisateur fournis par le système, elle n’a pas besoin d’implémenter IAccessible, à l’exception de sa fenêtre cliente. Par exemple, une application qui comprend un éditeur de texte, qui n’est pas implémentée à l’aide d’un contrôle d’édition, expose des lignes de texte sous forme d’objets accessibles. Notez que Microsoft Active Accessibility expose automatiquement le texte des contrôles Edit et Rich Edit sous la forme d’une chaîne de texte unique dans la propriété value du contrôle.