Articulo de referencia

Accesibilidad activa de Microsoft

Microsoft Active Accessibility ( MSAA ) es una interfaz de programación de aplicaciones (API) para la accesibilidad de la interfaz de usuario. MSAA se introdujo como un compleme...

Microsoft Active Accessibility ( MSAA ) es una interfaz de programación de aplicaciones (API) para la accesibilidad de la interfaz de usuario. MSAA se introdujo como un complemento de la plataforma Microsoft Windows 95 en 1997. MSAA está diseñado para ayudar a los productos de tecnología de asistencia (AT) a interactuar con elementos de interfaz de usuario (UI) estándar y personalizados de una aplicación (o el sistema operativo), así como para acceder, identificar y manipular los elementos de UI de una aplicación. Los productos de AT funcionan con aplicaciones habilitadas para MSAA para proporcionar un mejor acceso a las personas que tienen dificultades, impedimentos o discapacidades físicas o cognitivas. Algunos ejemplos de productos de AT son los lectores de pantalla para usuarios con visión limitada, los teclados en pantalla para usuarios con acceso físico limitado o los narradores para usuarios con audición limitada. MSAA también se puede utilizar para herramientas de prueba automatizadas y aplicaciones de capacitación basadas en computadora.

La especificación actual y más reciente de MSAA se encuentra en parte de la Especificación de Promesa de la Comunidad de Automatización de Interfaz de Usuario de Microsoft .

Historia

Active Accessibility se denominó inicialmente OLE Accessibility [1] y esta herencia se refleja en la denominación de sus componentes binarios, como oleacc.dlly el archivo de encabezado oleacc.hque contiene definiciones y declaraciones. Como parte del impulso de la marca ActiveX de Microsoft en marzo de 1996, OLE Accessibility pasó a llamarse ActiveX Accessibility (a veces denominada AXA) y se presentó como tal en la Conferencia de desarrolladores profesionales de Microsoft en San Francisco en marzo de 1996. Más tarde, la marca ActiveX se reservó para tecnologías específicas de Internet y ActiveX Accessibility se convirtió en Active Accessibility y con frecuencia se acortó a MSAA.

MSAA se puso a disposición originalmente en abril de 1997 como parte del kit de desarrolladores de software (SDK) de Microsoft Active Accessibility versión 1.0. El SDK incluía documentación, bibliotecas de programación, código fuente de muestra y un kit redistribuible (RDK) para que los proveedores de tecnología accesible lo incluyeran en sus productos. El RDK incluía componentes de sistema operativo actualizados para Microsoft Windows 95. Desde Windows 98 y Windows NT 4.0 Service Pack 4, MSAA se ha incorporado a todas las versiones de la plataforma Windows y ha recibido actualizaciones y parches periódicos a lo largo del tiempo.

Históricamente, la exposición programática para aplicaciones de tecnología de asistencia en Windows se ha proporcionado a través de MSAA. Sin embargo, las aplicaciones más nuevas ahora utilizan Microsoft UI Automation (UIA), que se introdujo en Windows Vista y .NET Framework 3.0 .

Historial de versiones

Se han publicado las siguientes versiones de Accesibilidad Activa: [2]

Motivación y objetivos

El factor motivador detrás del desarrollo de MSAA fue permitir un mecanismo de comunicación disponible y sin problemas entre el sistema operativo o las aplicaciones subyacentes y los productos de tecnología de asistencia.

El objetivo programático de MSAA es permitir que los controles de Windows expongan información básica, como el nombre, la ubicación en la pantalla o el tipo de control, e información de estado como visibilidad, habilitado o seleccionado.

Descripción técnica

MSAA se basa en el Modelo de objetos componentes (COM). COM define un mecanismo para que las aplicaciones y los sistemas operativos se comuniquen.

La figura 1 muestra una arquitectura de alto nivel de MSAA.

Las aplicaciones (por ejemplo, los procesadores de texto) se denominan servidores en MSAA porque proporcionan o sirven información sobre sus interfaces de usuario (IU). Las herramientas de accesibilidad (por ejemplo, los lectores de pantalla) se denominan clientes en MSAA porque consumen e interactúan con la información de la IU de una aplicación.

El componente del sistema del marco MSAA, Oleacc.dll, ayuda en la comunicación entre las herramientas de accesibilidad (clientes) y las aplicaciones (servidores). El límite de código indica los límites programáticos entre las aplicaciones que proporcionan información de accesibilidad de la interfaz de usuario y las herramientas de accesibilidad que interactúan con la interfaz de usuario en nombre de los usuarios. El límite también puede ser un límite de proceso cuando los clientes MSAA tienen su propio proceso.

Accesibilidad activa de Microsoft

La interfaz de usuario se representa como una jerarquía de objetos accesibles; los cambios y las acciones se representan como WinEvents.

Objetos accesibles

El objeto accesible es la interfaz central de MSAA y está representado por una interfaz COM IAccessible y un ChildId entero . Permite que las aplicaciones expongan una estructura de árbol que representa la estructura de la IU. Cada elemento de este árbol expone un conjunto de propiedades y métodos que permiten manipular el elemento de la IU correspondiente. Los clientes de MSAA pueden acceder a la información de la IU programática a través de una API estándar.

Roles, nombres, valores, estados

MSAA comunica información enviando pequeños fragmentos de información sobre los elementos de un programa al objeto de tecnología de asistencia (AT). Los cuatro datos críticos en los que se basa el AT para ayudar a los usuarios a interactuar con las aplicaciones son la función, el nombre, el valor y el estado de un elemento:

  • Rol : comunica a los usuarios a través de AT qué tipo de objeto es un control, como un botón o una tabla. El método IAccessible para esto es get_accRole .
  • Nombre : proporciona una etiqueta para un elemento, como Siguiente en un botón que lleva a los usuarios a la página siguiente, o Nombre para un cuadro de edición. El método IAccessible para esto es get_accName .
  • Valor : proporciona el valor del objeto especificado, como el valor de una barra deslizante o la información de un cuadro de texto editable. No todos los objetos tienen un valor. El método IAccessible para esto es get_accValue .
  • Estado : identifica la condición actual del control, como si está marcado para una casilla de verificación. El estado indica si se puede seleccionar un control, ponerlo en foco u otros tipos de funcionalidades modificables. El método IAccessible para esto es get_accState .

Microsoft proporciona una lista completa de controles y sus funciones. [3]

Role

La información de los roles se basa en el tipo de control de la interfaz de usuario con el que un desarrollador desea interactuar. Por ejemplo, si un desarrollador está implementando un botón en el que se puede hacer clic, seleccionaría Pushbutton como el rol que se implementará. La siguiente tabla muestra una lista de ejemplo de roles de MSAA y sus descripciones relacionadas.

Nombre

Los nombres de los elementos de una aplicación son asignados en el código por el desarrollador. Muchos objetos, como iconos, menús, casillas de verificación, cuadros combinados y otros controles, tienen etiquetas que se muestran a los usuarios. Cualquier etiqueta que se muestre a los usuarios en un control (por ejemplo, un botón) es la predeterminada para la propiedad de nombre del objeto. Asegúrese de que el nombre del objeto tenga sentido para un usuario y describa el control correctamente. La propiedad Nombre no debe incluir la función del control o la información de tipo, como botón o lista, o entrará en conflicto con el texto de la propiedad de función (adquirida de la función GetRoleText de la API MSAA).

Valor

Se utiliza el valor cuando un desarrollador desea devolver información de objetos en forma de cadena. Se puede devolver un valor para objetos que contengan porcentajes, números enteros, información textual o visual. Por ejemplo, los valores de propiedad devueltos de objetos accesibles mediante barra de desplazamiento y barra de seguimiento pueden indicar porcentajes en cadenas.

No todos los objetos tienen un valor asignado.

Estado

La propiedad State describe el estado de un objeto en un momento determinado. Microsoft Active Accessibility proporciona constantes de estado de objeto, definidas en oleacc.h, que se combinan para identificar el estado de un objeto. Si se devuelven valores de estado predefinidos, los clientes utilizan GetStateText para recuperar una cadena localizada que describe el estado. Todos los objetos admiten la propiedad State.

Desafíos y limitaciones

Microsoft diseñó el modelo de objetos de accesibilidad activa durante y después del lanzamiento de Windows 95. El modelo se basa en roles, cada uno de los cuales representa un tipo de elemento de interfaz de usuario. Estos roles se limitan a los elementos de interfaz de usuario de uso común en ese momento. Por ejemplo, no existe un modelo de objetos de texto que ayude a las tecnologías de asistencia a gestionar los botones divididos que combinan varios elementos de la interfaz de usuario en uno solo. MSAA no intenta representar texto con estilo, como texto de marcado o documentos de texto enriquecido . Si bien MSAA aún tiene la propiedad Value, solo puede alojar texto simple, sin estilo, en su valor. En ese momento, se pensó que el Modelo de objetos de texto de Microsoft (MS-TOM) sería más apropiado para expresar los atributos del texto con formato. Sin embargo, la complejidad de MS-TOM y su adopción inicial limitada fuera de Microsoft obstaculizaron el acceso al texto enriquecido.

Otra limitación tiene que ver con la navegación por el modelo de objetos. MSAA representa la interfaz de usuario como una jerarquía de objetos accesibles de una manera similar al Administrador de ventanas de Windows. Los clientes navegan de un objeto accesible a otro utilizando el método IAccessible::accNavigate. Sin embargo, los servidores implementaron accNavigate de maneras impredecibles y, a menudo, no lo hicieron. Sin embargo, los clientes deben poder manejar todos los enfoques para cualquier servidor MSAA. Esta ambigüedad significa trabajo adicional para los implementadores de clientes y la complejidad puede contribuir a problemas según las implementaciones del servidor.

Al ser una interfaz binaria basada en COM, IAccessible es inmutable y no se puede modificar sin crear otra interfaz. El resultado es que no se pueden exponer nuevos roles, comportamientos o propiedades a través del modelo de objetos basado en IAccessible existente. Si bien se pretendía que fuera un subconjunto común de información sobre los elementos básicos de la interfaz de usuario, se descubrió que era difícil ampliarlo para incluir información sobre nuevos métodos de interacción.

Disponibilidad

MSAA estuvo inicialmente disponible como complemento de Windows 95. Se ha integrado con todas las versiones posteriores de Windows.

Microsoft UI Automation (UIA) : el sucesor de MSAA fue User Interface Automation (UIA). Sin embargo, dado que todavía existen aplicaciones basadas en MSAA, se utilizan puentes para permitir la comunicación entre UI Automation y las aplicaciones MSAA. Para que se pueda compartir información entre las dos API, se desarrollaron un proxy de MSAA a UI Automation y un puente de UI Automation a MSAA. El primero es un componente que consume información de MSAA y la pone a disposición a través de la API de cliente de UI Automation. El segundo permite que las aplicaciones cliente que utilizan MSAA accedan a aplicaciones que implementan UI Automation.

Aplicaciones de Internet enriquecidas accesibles (WAI-ARIA): existe una asignación general de los atributos ARIA a las propiedades MSAA. [4]

IAccessible2 : MSAA proporciona las bases de IAccessible2. IAccessible2 aprovecha el trabajo realizado en MSAA y agrega funcionalidad adicional.

API de automatización de Windows : a partir de Windows 7, Microsoft está empaquetando sus tecnologías de accesibilidad en un marco llamado API de automatización de Windows. MSAA será parte de este marco.

Implementaciones de Microsoft Active Accessibility

Active Accessibility está disponible para desarrolladores en todas las versiones de Windows desde Windows 95. Desde su introducción original, MSAA se ha utilizado como una forma de agregar soporte para acceso programático a la interfaz de usuario para muchas aplicaciones comerciales y de consumo, incluyendo Microsoft Internet Explorer , Mozilla Firefox , Microsoft Office , etc. Además de las ayudas de accesibilidad como lectores de pantalla, lupas de pantalla, dispositivos de comunicación aumentativa y alternativa (CAA), la tecnología ha sido utilizada por software de automatización de pruebas , como QuickTest Pro, Functional Tester y SilkTest.

Se pueden encontrar más implementaciones de MSAA en aplicaciones y productos AT buscando en los sitios de Accesibilidad de Microsoft o en el sitio web de Información de AT. [5] [6] [7]

Referencias

  1. ^ Lista de correo de NFB-RD, febrero de 1996, "Accesibilidad OLAE [sic]"
  2. ^ Plataformas compatibles: Accesibilidad activa - MSDN
  3. ^ Microsoft Developer Network (MSDN): https://msdn.microsoft.com/en-us/library/bb773173(VS.85).aspx Controles de Windows.
  4. ^ Microsoft Developer Network (MSDN): Especificación de automatización de la interfaz de usuario
  5. ^ Microsoft: Accesibilidad en los productos de Microsoft.
  6. ^ Microsoft: Historia del compromiso de Microsoft con la accesibilidad.
  7. ^ Trace Center: Enlaces de información sobre tecnología de asistencia Archivado el 23 de julio de 2012 en archive.today .
  • Sitio web oficial
  • Accesibilidad en Microsoft
Obtenido de "https://es.wikipedia.org/w/index.php?title=Microsoft_Active_Accessibility&oldid=1155011224"