Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O núcleo de automação da interface do usuário da Microsoft pode recuperar todas as propriedades do Microsoft Ative Accessibility para qualquer objeto acessível exposto por um servidor por meio da interface IAccessible . Ao implementar IAccessibleEx, você deve expor apenas os aspetos da funcionalidade da interface do usuário que não podem ser expostos de outra forma através das propriedades existentes do Microsoft Ative Accessibility. Este tópico identifica as propriedades de 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 contrapartida no Microsoft Ative Accessibility—eles 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 for UI Automation Property Changed Events
- Tópicos relacionados
Propriedades
As seguintes propriedades de Automação da Interface do Usuário não se sobrepõem à funcionalidade do Microsoft Ative Accessibility. Eles podem ser usados em uma implementação IAccessibleEx :
- AriaProperties
- AriaRole
- AutomationId
- ClassName
- ClickablePoint
- Controladorpara:
- Cultura
- DescritoPor
- FluxosPara
- FrameworkId
- IsContentElement
- IsControlElement
- IsDataValidForForm
- IsRequiredForForm
- Status do item
- Tipo de Item
- RotuladoPor
- LocalizedControlType
- Orientação
Embora as propriedades AcceleratorKey e AccessKey UI Automation se sobreponham à propriedade accKeyboardShortcut Microsoft Ative Accessibility, você ainda pode usá-las em uma implementação IAccessibleEx para controles que têm uma tecla de acesso e um acelerador. Da mesma forma, a propriedade ControlType UI Automation se sobrepõe à propriedade accRole do Microsoft Ative Accessibility, mas você ainda pode usá-la em uma implementação IAccessibleEx para definir uma função mais específica para um controle.
Como as seguintes propriedades do elemento de automação da interface do usuário já são cobertas pelas propriedades do Microsoft Ative Accessibility, não há necessidade de usá-las em uma implementação IAccessibleEx .
| Propriedade de automação da interface do usuário | Equivalente do Microsoft Ative Accessibility |
|---|---|
| BoundingRectangle | accLocalização |
| HasKeyboardFocus | accState, STATE_SYSTEM_FOCUSED |
| EstáAtivado | accState, STATE_SYSTEM_UNAVAILABLE |
| IsKeyboardFocusable | accState, STATE_SYSTEM_FOCUSABLE |
| IsPassword | accState, STATE_SYSTEM_PROTECTED |
| HelpText | accAjuda |
| 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 da interface do usuário sem suporte, sua 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 para a propriedade correspondente.
Padrões de controle
Os seguintes padrões de controle de automação da interface do usuário não se sobrepõem à funcionalidade do Microsoft Ative Accessibility. Eles podem ser usados em uma implementação IAccessibleEx :
- Doca
- ExpandirFechar
- Grelha
- GridItem
- MultipleView
- RangeValue
- Deslocar
- 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 UI Automation e os métodos Microsoft Ative Accessibility. Nestes casos, ambos devem ser implementados. Por exemplo, os métodos IAccessible::get_accValue e IAccessible::p ut_accValue do Microsoft Ative Accessibility, 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 estes. Este requisito para implementar ambos os conjuntos evita ter uma implementação parcial de uma interface padrão, mantendo a interface IAccessible utilizável por clientes existentes do Microsoft Ative Accessibility.
Os seguintes padrões de controle de automação da interface do usuário não são necessários quando o controle tem uma das funções descritas abaixo; caso contrário, devem ser explicitamente apoiados, se for caso disso.
| 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 é NULL. |
| WindowPattern | Suportado automaticamente no nível superior Microsoft Win32 HWNDs. |
WinEvents for UI Automation Property Changed Events
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 de propriedade alterada para propriedades correspondentes de Automação da Interface do Usuário. Estes utilizam 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 de EVENT_OBJECT_ listado depois deles, e a implementação IAccessibleEx deve disparar esse evento além do evento alterado listado. Isso permite que o código de cliente IAccessibleEx existente continue funcionando, enquanto transmite informações de eventos mais granulares para clientes interessados.
Tópicos relacionados