Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El núcleo de Automatización de la interfaz de usuario de Microsoft puede recuperar todas las propiedades de accesibilidad activa de Microsoft para cualquier objeto accesible expuesto por un servidor a través de la interfazIAccessible. Al implementar IAccessibleEx, solo debe exponer esos aspectos de la funcionalidad de la interfaz de usuario que de lo contrario no se pueden exponer a través de las propiedades existentes de accesibilidad activa de Microsoft. En este tema se identifican las propiedades y los patrones de control de la automatización de la interfaz de usuario que representan la funcionalidad de la interfaz de usuario que no tiene ningún homólogo de accesibilidad activa de Microsoft; son las propiedades y los patrones de control que puede exponer en una implementación de de IAccessibleEx.
Este tema contiene las secciones siguientes:
- propiedades de
- patrones de control de
- eventos modificados de la propiedad WinEvents for UI Automation
- temas relacionados
Propiedades
Las siguientes propiedades de automatización de la interfaz de usuario no se superponen con la funcionalidad de accesibilidad activa de Microsoft. Se pueden usar en una implementación deIAccessibleEx:
- AriaProperties
- AriaRole
- AutomationId
- ClassName
- ClickablePoint
- ControllerFor
- Cultura
- DescritoBy
- FlowsTo
- FrameworkId
- IsContentElement
- IsControlElement
- IsDataValidForForm
- IsRequiredForForm
- ItemStatus
- ItemType
- LabeledBy
- LocalizedControlType
- Orientación
Aunque las propiedades AcceleratorKey y AccessKey UI Automation se superponen con la propiedad accKeyboardShortcut Microsoft Active Accessibility, todavía puede usarlas en una implementación de IAccessibleEx para los controles que tienen una tecla de acceso y un acelerador. Del mismo modo, la propiedad ControlType UI Automation se superpone con la propiedad accRole de accesibilidad activa de Microsoft, pero todavía puede usarla en una implementación de IAccessibleEx para definir un rol más específico para un control.
Dado que las siguientes propiedades de elemento de automatización de la interfaz de usuario ya están cubiertas por las propiedades de accesibilidad activa de Microsoft, no es necesario usarlas en una implementación deIAccessibleEx.
Ui Automation (propiedad) | Equivalente de accesibilidad activa de Microsoft |
---|---|
BoundingRectangle | accLocation |
HasKeyboardFocus | accState, STATE_SYSTEM_FOCUSED |
IsEnabled | accState, STATE_SYSTEM_UNAVAILABLE |
IsKeyboardFocusable | accState, STATE_SYSTEM_FOCUSABLE |
IsPassword | accState, STATE_SYSTEM_PROTECTED |
HelpText | accHelp |
Nombre | accName |
NativeWindowHandle | WindowFromAccessibleObject de |
IsOffscreen | accState, STATE_SYSTEM_INVISIBLE/STATE_SYSTEM_OFFSCREEN |
ProcessId | Proporcionado por el núcleo de automatización de la interfaz de usuario |
Para cualquier propiedad de automatización de la interfaz de usuario no admitida, la implementación del método IRawElementProviderSimple::GetPropertyValue debe establecer el parámetro pRetVal en VT_EMPTY y devolver S_OK. Devolver UIA_E_NOTSUPPORTED puede hacer que el proxy de MSAA a UIA quite la asignación predeterminada de la propiedad correspondiente.
Patrones de control
Los siguientes patrones de control de automatización de la interfaz de usuario no se superponen con la funcionalidad de accesibilidad activa de Microsoft. Se pueden usar en una implementación deIAccessibleEx:
- Dársena
- ExpandCollapse
- Rejilla
- GridItem
- MultipleView
- RangeValue
- Pergamino
- ScrollItem
- SynchronizedInput
- Mesa
- TableItem
- Transformar
Para los patrones de control RangeValue y Transform, algunos métodos se superponen entre el patrón de control de automatización de la interfaz de usuario y los métodos de accesibilidad activa de Microsoft. En estos casos, ambos deben implementarse. Por ejemplo, se deben implementar los métodos IAccessible::get_accValue y IAccessible::p ut_accValue, como debe implementarse la automatización de la interfaz de usuarioIRangeValueProvider::Value y métodos IRangeValueProvider::SetValue. Internamente, una implementación puede compartir código para estos. Este requisito para implementar ambos conjuntos evita tener una implementación parcial de una interfaz de patrón al tiempo que mantiene la interfaz de IAccessible utilizable por los clientes existentes de accesibilidad activa de Microsoft.
Los siguientes patrones de control de automatización de la interfaz de usuario no son necesarios cuando el control tiene uno de los roles descritos a continuación; De lo contrario, deben admitirse explícitamente si procede.
Patrón de control de automatización de la interfaz de usuario | Rol de accesibilidad activa de Microsoft |
---|---|
InvokePattern | ROLE_SYSTEM_PUSHBUTTON, ROLE_SYSTEM_MENUITEM, ROLE_SYSTEM_BUTTONDROPDOWN, ROLE_SYSTEM_SPLITBUTTONy cualquier otro rol en el que el valor de la propiedad accDefaultAction no esté NULL. |
SelectionItemPattern | ROLE_SYSTEM_LISTITEM, ROLE_SYSTEM_RADIOBUTTON |
SelectionPattern | ROLE_SYSTEM_LIST |
TogglePattern | ROLE_SYSTEM_CHECKBUTTON |
ValuePattern | ROLE_SYSTEM_TEXT (cuando no es de solo lectura), ROLE_SYSTEM_PROGRESSBAR, ROLE_SYSTEM_COMBOBOXy cualquier otro rol cuando el valor de la propiedad accValue no es NULL. |
WindowPattern | Se admite automáticamente en microsoft Win32 de nivel superior HWNDs. |
Eventos modificados de propiedades de WinEvents for UI Automation
Además de los eventos definidos para IAccessible, también se definen los siguientes identificadores de evento y se pueden usar con una implementación de IAccessibleEx como eventos modificados de propiedad para las propiedades correspondientes de automatización de la interfaz de usuario. Usan el mismo mecanismo que los eventos definidos para IAccessible. Para obtener más información, vea WinEvents.
Para los eventos anteriores que tienen un valor de EVENT_OBJECT_ enumerados después de ellos, y implementación de IAccessibleEx debe activar este evento además del evento modificado enumerado. Esto permite que el código de cliente IAccessibleEx existente continúe funcionando, al tiempo que transmite información de eventos más granular a los clientes interesados.
Temas relacionados