Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O núcleo de Automação da Interface do Usuário da Microsoft pode recuperar todas as propriedades de Acessibilidade Ativa da Microsoft para qualquer objeto acessível exposto por um servidor por meio da interface IAccessible . Ao implementar IAccessibleEx, você deve expor apenas os aspectos da funcionalidade da interface do usuário que, de outra forma, não podem ser expostos por meio de propriedades existentes da Acessibilidade Ativa da Microsoft. Este tópico identifica as propriedades da Automação da Interface do Usuário e os padrões de controle que representam a funcionalidade da interface do usuário que não tem nenhum equivalente na Acessibilidade Ativa da Microsoft. São as propriedades e os padrões de controle que você pode expor em uma implementação IAccessibleEx .
Este tópico contém as seguintes seções:
- Propriedades
- Padrões de controle
- WinEvents para eventos alterados da propriedade de automação da interface do usuário
- tópicos relacionados
Propriedades
As propriedades de Automação da Interface do Usuário a seguir não se sobrepõem à funcionalidade de Acessibilidade Ativa da Microsoft. Eles podem ser usados em uma implementação IAccessibleEx :
- AriaProperties
- AriaRole
- AutomationId
- ClassName
- ClickablePoint
- ControllerFor
- Cultura
- DescribedBy
- FlowsTo
- FrameworkId
- IsContentElement
- IsControlElement
- IsDataValidForForm
- IsRequiredForForm
- ItemStatus
- Tipo de Item
- LabeledBy
- LocalizedControlType
- Orientação
Embora as propriedades de Automação de Interface do Usuário AcceleratorKey e AccessKey se sobreponham à propriedade accKeyboardShortcut Microsoft Active Accessibility, você ainda pode usá-las em uma implementação IAccessibleEx para controles que têm uma chave de acesso e um acelerador. Da mesma forma, a propriedade De automação de interface do usuário ControlType se sobrepõe à propriedade accRole de Acessibilidade Ativa da Microsoft, mas você ainda pode usá-la em uma implementação IAccessibleEx para definir uma função mais específica para um controle.
Como as propriedades do elemento de Automação da Interface do Usuário a seguir já estão cobertas pelas propriedades de Acessibilidade Ativa da Microsoft, não é necessário usá-las em uma implementação IAccessibleEx .
| Propriedade de Automação da interface do usuário | Equivalente de Acessibilidade Ativa da Microsoft |
|---|---|
| BoundingRectangle | accLocation |
| HasKeyboardFocus | accState, STATE_SYSTEM_FOCUSED |
| EstáAtivado | accState, STATE_SYSTEM_UNAVAILABLE |
| IsKeyboardFocusable | accState, STATE_SYSTEM_FOCUSABLE |
| IsPassword | accState, STATE_SYSTEM_PROTECTED |
| HelpText | accHelp |
| Nome | accName |
| NativeWindowHandle | WindowFromAccessibleObject |
| IsOffscreen | accState, STATE_SYSTEM_INVISIBLE/STATE_SYSTEM_OFFSCREEN |
| ProcessId | Fornecido pelo núcleo de Automação da Interface do Usuário |
Para qualquer propriedade de Automação de Interface do Usuário sem suporte, a implementação do método IRawElementProviderSimple::GetPropertyValue deve definir o parâmetro pRetVal como VT_EMPTY e retornar S_OK. Retornar UIA_E_NOTSUPPORTED pode fazer com que o Proxy MSAA para UIA remova o mapeamento padrão da propriedade correspondente.
Padrões de controle
Os seguintes padrões de controle de Automação de Interface do Usuário não se sobrepõem à funcionalidade de Acessibilidade Ativa da Microsoft. Eles podem ser usados em uma implementação IAccessibleEx :
- Doca
- ExpandCollapse
- Grid
- GridItem
- MultipleView
- RangeValue
- Rolar
- ScrollItem
- SynchronizedInput
- Tabela
- TableItem
- Transformar
Para os padrões de controle RangeValue e Transform, alguns métodos se sobrepõem entre o padrão de controle de Automação da Interface do Usuário e os métodos de Acessibilidade Ativa da Microsoft. Nesses casos, ambos devem ser implementados. Por exemplo, os métodos IAccessible::get_accValue e IAccessible::p ut_accValue da Microsoft Active Accessibility devem ser implementados, assim como os métodosIRangeValueProvider::Value e IRangeValueProvider::SetValue da Automação da Interface do Usuário. Internamente, uma implementação pode compartilhar código para elas. Esse requisito para implementar ambos os conjuntos evita ter uma implementação parcial de uma interface de padrão, mantendo a interface IAccessible utilizável por clientes existentes do Microsoft Active Accessibility.
Os seguintes padrões de controle de Automação de Interface do Usuário não são necessários quando o controle tem uma das funções descritas abaixo; caso contrário, eles devem ter suporte explícito, se relevante.
| Padrão de controle de automação da interface do usuário | Função de Acessibilidade Ativa da Microsoft |
|---|---|
| InvokePattern | ROLE_SYSTEM_PUSHBUTTON, ROLE_SYSTEM_MENUITEM, ROLE_SYSTEM_BUTTONDROPDOWN, ROLE_SYSTEM_SPLITBUTTON e qualquer outra função em que o valor da propriedade accDefaultAction não seja NULL. |
| SelectionItemPattern | ROLE_SYSTEM_LISTITEM, ROLE_SYSTEM_RADIOBUTTON |
| SelectionPattern | ROLE_SYSTEM_LIST |
| TogglePattern | ROLE_SYSTEM_CHECKBUTTON |
| ValuePattern | ROLE_SYSTEM_TEXT (quando não é somente leitura), ROLE_SYSTEM_PROGRESSBAR, ROLE_SYSTEM_COMBOBOX e qualquer outra função quando o valor da propriedade accValue não for NULL. |
| WindowPattern | Suporte automático em HWNDsdo Microsoft Win32 de nível superior. |
WinEvents para eventos alterados da propriedade de automação da interface do usuário
Além dos eventos definidos para IAccessible, os seguintes identificadores de evento também são definidos e podem ser usados com uma implementação IAccessibleEx como eventos alterados de propriedade para propriedades de Automação de Interface do Usuário correspondentes. Eles usam o mesmo mecanismo que os eventos definidos para IAccessible. Para obter mais informações, consulte WinEvents.
Para os eventos acima que têm um valor EVENT_OBJECT_ listado após eles, e a implementação IAccessibleEx deve disparar esse evento além do evento alterado listado. Isso permite que o código do cliente IAccessibleEx existente continue funcionando, transmitindo informações de evento mais granulares para clientes interessados.
Tópicos relacionados