Elementos de interface do usuário personalizados
Os desenvolvedores de servidores projetam objetos acessíveis com base na interface do usuário de um aplicativo. Como a Acessibilidade Ativa implementa a interface IAccessible em nome de elementos de interface do usuário fornecidos pelo sistema , como caixas de listagem, menus e controles de barra de controle, você precisa implementar a interface IAccessible somente para os seguintes tipos de elementos de interface do usuário personalizados:
- Controles personalizados criados registrando uma classe de janela definida pelo aplicativo
- Controles personalizados desenhados diretamente na tela que não têm um HWND associado
- Controles personalizados, como controles Microsoft ActiveX e Java
- Controles ou objetos na janela do cliente do aplicativo que ainda não estão expostos
Os controles e menus desenhados pelo proprietário ficam acessíveis desde que você siga as diretrizes discutidas em Atalhos para Expor Elementos de Interface do Usuário Personalizados. Se você seguir essas diretrizes, não precisará implementar a interface IAccessible para controles e menus desenhados pelo proprietário.
Na maioria dos casos, os controles superclasse e subclasse são acessíveis porque o sistema lida com a funcionalidade básica do controle. No entanto, se um controle superclasse ou subclasse modificar significativamente o comportamento do controle fornecido pelo sistema no qual ele se baseia, você deverá implementar a interface IAccessible . Para obter mais informações, consulte Expondo controles com base em controles do sistema.
Se um aplicativo usar apenas elementos de interface do usuário fornecidos pelo sistema, ele não precisará implementar o IAccessible, exceto a janela do cliente. Por exemplo, um aplicativo que inclui um editor de texto, não implementado usando um controle de edição, expõe linhas de texto como objetos acessíveis. Observe que a Acessibilidade Ativa da Microsoft expõe automaticamente o texto em controles de edição e edição avançada como uma única cadeia de caracteres de texto na propriedade Value do controle.