Apêndice G: Ponte de Acessibilidade Ativa para Automação da Interface do Usuário
Este apêndice contém informações sobre a Ponte de Acessibilidade Ativa da Microsoft. A Ponte de Acessibilidade Ativa permite que aplicativos que implementam a Acessibilidade Ativa da Microsoft acessem aplicativos que implementam o Microsoft Automação da Interface do Usuário. Ao fazer a ponte entre a Acessibilidade Ativa da Microsoft e Automação da Interface do Usuário, os clientes baseados em Acessibilidade Ativa da Microsoft, como um screenreader no Windows XP, podem interagir programaticamente com provedores baseados em Automação da Interface do Usuário de Automação da Interface do Usuário, como um aplicativo de Windows Presentation Foundation (WPF). Ele faz parte da API do Automação da Interface do Usuário Native Core (UIAutomationCore.dll).
A Ponte de Acessibilidade Ativa mapeia Automação da Interface do Usuário propriedades e eventos para aqueles da Acessibilidade Ativa da Microsoft. As tabelas a seguir mapeiam os métodos e as propriedades da interface IAccessible de Acessibilidade Ativa da Microsoft para Automação da Interface do Usuário. Use essas tabelas para determinar as práticas de codificação apropriadas para desenvolver seu cliente baseado em Acessibilidade Ativa da Microsoft.
Propriedades de navegação e hierarquia
Propriedade IAccessible | Propriedade da Automação da Interface do Usuário |
---|---|
get_accChild | Não implementado |
get_accChildCount | Derivado de Automação da Interface do Usuário árvore |
get_accParent | Derivado de Automação da Interface do Usuário árvore |
Accnavigate | Não implementado |
Propriedades e métodos descritivos
Iaccessible | Automação da Interface de Usuário |
---|---|
Accdodefaultaction | Consulte a tabela Tipos de Controle e accRole para obter detalhes. |
get_accDefaultAction | Consulte a tabela Tipos de Controle e accRole para obter detalhes. |
Get_acckeyboardshortcut | AccessKeyPropertyor AcceleratorKeyProperty; se ambos estiverem presentes, AccessKeyProperty terá precedência. |
Get_accname | NameProperty |
Get_accrole | Controltypeproperty. Consulte a tabela Tipos de Controle e accRole para obter detalhes. |
Get_accstate | Consulte a tabela Tipos de Controle e accRole para obter detalhes. |
get_accValue | Valueproperty; com suporte em tipos de controle que dão suporte ao padrão de controle Value ou ao padrão de controle RangeValue . Os valores rangeValue são consistentes com o comportamento de Acessibilidade Ativa da Microsoft (0 a 100). Os itens de valor usam uma cadeia de caracteres. |
put_accValue | Valueproperty; com suporte em tipos de controle que dão suporte ao padrão de controle Value ou ao padrão de controle RangeValue |
get_accHelp | HelpTextProperty |
get_accDescription | Não implementado |
get_accHelpTopic | Não implementado |
Tipos de controle e accRole
A função padrão de Acessibilidade Ativa da Microsoft é ROLE_SYSTEM_CLIENT. Se nenhuma ação padrão for encontrada para um tipo de controle, a Ponte de Acessibilidade Ativa também usará os seguintes padrões de controle disponíveis: Invoke, ExpandCollapse e Toggle. Por exemplo, um controle groupbox não tem nenhuma ação padrão. Se ele der suporte a ExpandCollapse, a Ponte de Acessibilidade Ativa usará isso para a ação padrão.
propriedades Automação da Interface do Usuário e accState
Accstate | Propriedade da Automação da Interface do Usuário | Dispara a alteração de estado |
---|---|---|
STATE_SYSTEM_CHECKED | Para ControlType = "caixa de seleção" use ToggleState.On. Para "radiobutton" use SelectionItemPattern::IsSelected | Sim |
STATE_SYSTEM_FOCUSABLE | IsKeyboardFocusableProperty | Não |
STATE_SYSTEM_FOCUSED | HasKeyboardFocusProperty | Não |
STATE_SYSTEM_PROTECTED | IsPasswordProperty | Não |
STATE_SYSTEM_READONLY | IsReadOnlyProperty (padrão de controle de valor e padrão de controle RangeValue) | Não |
STATE_SYSTEM_UNAVAILABLE | Isenabledproperty | Sim |
STATE_SYSTEM_LINKED | ControlTypeProperty = "hyperlink" | Não |
STATE_SYSTEM_SELECTABLE | Há suporte para SelectionItemPattern | Não |
STATE_SYSTEM_SELECTED | IsSelectedProperty (padrão de controle SelectionItem) | Não |
STATE_SYSTEM_COLLAPSED | ExpandCollapseState = Recolhido | Sim |
STATE_SYSTEM_EXPANDED | ExpandCollapseState = Expanded ou PartiallyExpanded | Sim |
STATE_SYSTEM_HASPOPUP | Itens de menu que dão suporte a Expandir/Recolher | Não |
STATE_SYSTEM_MIXED | ToggleState = Indeterminado | Não |
STATE_SYSTEM_SIZEABLE | IUIAutomationTransformPattern::CanResize | Não |
STATE_SYSTEM_MOVEABLE | IUIAutomationTransformPattern::CanMove | Não |
STATE_SYSTEM_MULTISELECTABLE | IUIAutomationSelectionPattern::CanSelectMultiple | Não |
Seleção e Foco
Iaccessible | Automação da Interface de Usuário |
---|---|
Get_accfocus | IUIAutomation::FocusedElement |
Accselect | Consulte a tabela Propriedades do Automação da Interface do Usuário e accSelect SELFLAGs para obter detalhes. |
Get_accselection | SelectionPattern::GetSelection |
propriedades Automação da Interface do Usuário e accSelect SELFLAGs
ACCSelect SELFLAGs | Propriedade da Automação da Interface do Usuário |
---|---|
SELFLAG_NONE | Não disponível |
SELFLAG_TAKFOCUS | IUIAutomationElement::SetFocus |
SELFLAG_TAKESELECTION | IUIAutomationSelectionItemPattern::Select |
SELFLAG_ADDSELECTION | IUIAutomationSelectionItemPattern::AddToSelection |
SELFLAG_TAKEREMOVESELECTION | IUIAutomationSelectionItemPattern::RemoveFromSelection |
SELFLAG_EXTENDSELECTION | Não disponível |
Mapeamento espacial
Iaccessible | Automação da Interface de Usuário |
---|---|
Acclocation | Boundingrectangleproperty |
Acchittest | IRawElementProviderFragmentRoot::ElementProviderFromPoint |
Eventos
constantes de evento System-Level | Automação da Interface de Usuário |
---|---|
EVENT_SYSTEM_MENUPOPUPSTART | UIA_MenuOpenedEventId (Observação: deve marcar se esta for uma janela pop-up.) |
EVENT_SYSTEM_MENUPOPUPEND | UIA_MenuClosedEventId |
EVENT_SYSTEM_MENUSTART | UIA_MenuModeStartEventId |
EVENT_SYSTEM_MENUEND | UIA_MenuModeEndEventId |
EVENT_SYSTEM_SOUND | |
EVENT_SYSTEM_ALERT | |
EVENT_SYSTEM_CAPTURESTART | |
EVENT_SYSTEM_CAPTUREEND | |
EVENT_SYSTEM_DIALOGSTART | |
EVENT_SYSTEM_DIALOGEND | |
EVENT_SYSTEM_MOVESIZESTART | |
EVENT_SYSTEM_MOVESIZEEND | |
EVENT_SYSTEM_CONTEXTHELPSTART | |
EVENT_SYSTEM_CONTEXTHELPEND | Irrelevante |
EVENT_SYSTEM_DRAGDROPSTART | |
EVENT_SYSTEM_DRAGDROPEND | |
EVENT_SYSTEM_SWITCHSTART | Irrelevante |
EVENT_SYSTEM_SWITCHEND | Irrelevante |
EVENT_SYSTEM_MINIMIZESTART | |
EVENT_SYSTEM_MINIMIZEEND | |
EVENT_SYSTEM_FOREGROUND | |
EVENT_SYSTEM_SCROLLINGSTART | Não disponível |
EVENT_SYSTEM_SCROLLINGEND | Não disponível |
constantes de evento Object-Level | Automação da Interface de Usuário |
---|---|
EVENT_OBJECT_FOCUS | Automationfocuschangedevent |
EVENT_OBJECT_VALUECHANGE | ValueProperty (padrão de controle de valor e padrão de controle RangeValue) |
EVENT_OBJECT_SELECTION | ElementSelectedEvent (padrão de controle SelectionItem) |
EVENT_OBJECT_SELECTIONADD | ElementAddedToSelectionEvent (padrão de controle SelectionItem) |
EVENT_OBJECT_SELECTIONREMOVE | Elementremovedfromselectionevent |
EVENT_OBJECT_SELECTIONWITHIN | EventsSelectionInvalidatedEvent |
EVENT_OBJECT_STATECHANGE | Consulte Automação da Interface do Usuário Propriedades e tabela accState para estados que disparam uma alteração de estado |