Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Ядро службы автоматизации пользовательского интерфейса Майкрософт может получить все свойства microsoft Active Accessibility для любого доступного объекта, предоставляемого сервером, через интерфейс I Access. При реализации IAccessibleExнеобходимо предоставлять только те аспекты функциональности пользовательского интерфейса, которые не могут быть предоставлены через существующие свойства специальных возможностей Microsoft Active. В этом разделе определяются свойства и шаблоны автоматизации пользовательского интерфейса, представляющие функциональные возможности пользовательского интерфейса, которые не имеют аналогов в Microsoft Active Accessibility, — это свойства и шаблоны элементов управления, которые можно предоставить в реализации I AccessEx.
В этом разделе содержатся следующие разделы:
- свойства
- шаблонов элементов управления
- WinEvents для измененных событий свойства автоматизации пользовательского интерфейса
- связанные разделы
Свойства
Следующие свойства автоматизации пользовательского интерфейса не перекрываются с функциями Microsoft Active Accessibility. Их можно использовать в реализации IAccessibleEx:
- AriaProperties
- AriaRole
- AutomationId
- ClassName
- ClickablePoint
- ControllerFor
- Культура
- ОписаниеBy
- ПотокиTo
- FrameworkId
- IsContentElement
- IsControlElement
- IsDataValidForForm
- IsRequiredForForm
- ItemStatus
- ItemType
- LabeledBy
- LocalizedControlType
- Ориентация
Хотя свойства автоматизации пользовательского интерфейса AcceleratorKey и AccessKey перекрываются с свойством accKeyboardShortcut Microsoft Active Accessibility, их по-прежнему можно использовать в реализации I AccessEx для элементов управления с ключом доступа и акселератором. Аналогичным образом свойство автоматизации пользовательского интерфейса ControlType перекрывается свойством accRole Microsoft Active Accessibility, но его можно использовать в реализации IAccessibleEx для определения более конкретной роли элемента управления.
Так как следующие свойства элемента автоматизации пользовательского интерфейса уже рассматриваются свойствами Microsoft Active Accessibility, их нельзя использовать в реализации I AccessEx.
Свойство автоматизации пользовательского интерфейса | Эквивалент microsoft Active Accessibility |
---|---|
ОграничивающийRectangle | accLocation |
HasKeyboardFocus | accState, STATE_SYSTEM_FOCUSED |
IsEnabled | accState, STATE_SYSTEM_UNAVAILABLE |
IsKeyboardFocusable | accState, STATE_SYSTEM_FOCUSABLE |
IsPassword | accState, STATE_SYSTEM_PROTECTED |
HelpText | accHelp |
Имя | accName |
NativeWindowHandle | WindowFromAccessibleObject |
IsOffscreen | accState, STATE_SYSTEM_INVISIBLE/STATE_SYSTEM_OFFSCREEN |
ProcessId | Предоставляется ядром автоматизации пользовательского интерфейса |
Для любого неподдерживаемого свойства автоматизации пользовательского интерфейса реализация метода IRawElementProviderSimple::GetPropertyValue должна задать для параметра pRetVal значение VT_EMPTY и возвращать S_OK. Возврат UIA_E_NOTSUPPORTED может привести к удалению прокси-сервера MSAA-to-UIA по умолчанию для соответствующего свойства.
Шаблоны элементов управления
Следующие шаблоны элементов управления автоматизации пользовательского интерфейса не перекрываются с функциями Microsoft Active Accessibility. Их можно использовать в реализации IAccessibleEx:
- Док
- ExpandCollapse
- Сетка
- GridItem
- MultipleView
- RangeValue
- Свиток
- ScrollItem
- SynchronizedInput
- Стол
- TableItem
- Трансформировать
Для шаблонов элементов управления RangeValue и Transform некоторые методы перекрываются между шаблоном элемента управления автоматизации пользовательского интерфейса и методами Microsoft Active Accessibility. В этих случаях необходимо реализовать оба варианта. Например, оба метода Microsoft Active Accessibility IAccessible::get_accValue и i Access:IAccessible::p ut_accValue должны быть реализованы, так как должны быть реализованы методы службы автоматизации пользовательского интерфейсаIRangeValueProvider::Value и методы IRangeValueProvider::SetValue. В внутренней среде реализация может совместно использовать код для этих целей. Это требование для реализации обоих наборов позволяет избежать частичной реализации интерфейса шаблона, сохраняя интерфейс IAccess доступны для использования существующими клиентами Microsoft Active Accessibility.
Следующие шаблоны элементов управления автоматизации пользовательского интерфейса не требуются, если элемент управления имеет одну из ролей, описанных ниже; в противном случае они должны быть явно поддерживаются, если это необходимо.
Шаблон элемента управления автоматизации пользовательского интерфейса | Роль "Специальные возможности Майкрософт" |
---|---|
InvokePattern | ROLE_SYSTEM_PUSHBUTTON, ROLE_SYSTEM_MENUITEM, ROLE_SYSTEM_BUTTONDROPDOWN, ROLE_SYSTEM_SPLITBUTTONи любая другая роль, где значение свойства accDefaultAction не NULL. |
SelectionItemPattern | ROLE_SYSTEM_LISTITEM, ROLE_SYSTEM_RADIOBUTTON |
SelectionPattern | ROLE_SYSTEM_LIST |
ПереключательPattern | ROLE_SYSTEM_CHECKBUTTON |
ValuePattern | ROLE_SYSTEM_TEXT (если оно не доступно только для чтения), ROLE_SYSTEM_PROGRESSBAR, ROLE_SYSTEM_COMBOBOXи любая другая роль, если значение свойства accValue не NULL. |
WindowPattern | Автоматически поддерживается на уровне Microsoft Win32 HWND. |
События изменения свойств автоматизации пользовательского интерфейса WinEvents
Помимо событий, определенных для IAccessible, также определены следующие идентификаторы событий и могут использоваться с реализацией IAccessibleEx в качестве событий изменения свойств для соответствующих свойств автоматизации пользовательского интерфейса. Они используют тот же механизм, что и события, определенные для IAccessible. Дополнительные сведения см. в разделе WinEvents.
Для событий выше, имеющих значение EVENT_OBJECT_, указанное после них, и реализация IAccessibleEx должна запускать это событие в дополнение к указанному событию изменения. Это позволяет существующему IAccessEx клиентскому коду продолжать работу, передавая более детализированные сведения о событиях заинтересованным клиентам.
Связанные разделы