Automatización de la interfaz de usuario para la especificación de aplicaciones de Internet enriquecidas accesibles de W3C
Los sitios web aumentan su utilidad con contenido dinámico y controles avanzados de interfaz de usuario compatibles con tecnologías como JavaScript asincrónico y XML (AJAX), DHTML y JavaScript. Sin embargo, las tecnologías de asistencia con frecuencia no pueden interactuar con estos controles complejos ni exponer contenido dinámico a los usuarios. Aplicaciones de Internet enriquecidas accesibles (ARIA) es una especificación técnica W3C para desarrollar contenido web y aplicaciones para que sean accesibles para personas con discapacidades.
Para admitir la especificación de ARIA, la especificación de Automatización de la interfaz de usuario de Microsoft permite a los desarrolladores asociar atributos de Automatización de la interfaz de usuario Aria y AriaRole y AriaProperties con roles y estados de ARIA de W3C, o propiedades. Esto ayuda a las aplicaciones de usuario como Microsoft Internet Explorer a admitir el modelo de objetos de ARIA en el contexto de la automatización de la interfaz de usuario al tiempo que mantiene un modelo de objetos de accesibilidad de línea base.
En este apéndice se proporciona la asignación sugerida de información de W3C a las especificaciones de Automatización de la interfaz de usuario y accesibilidad activa de Microsoft, aprovechando las dos nuevas propiedades de automatización de la interfaz de usuario.
Este tema contiene las secciones siguientes:
- rol de ARIA de W3C asignado a microsoft Active Accessibility and UI Automation
- propiedades y estados de ARIA de W3C asignados a microsoft Active Accessibility and UI Automation
- consideraciones adicionales
Rol de ARIA de W3C asignado a Microsoft Active Accessibility and UI Automation
Los roles de ARIA de W3C pueden asignarse a los roles de accesibilidad activa de Microsoft o a los tipos de control de automatización de la interfaz de usuario. Con la automatización de la interfaz de usuario, el rol ARIA de W3C original también puede ser compatible con la propiedad AriaRole. Los agentes de usuario pueden ofrecer una descripción localizada del rol ARIA de W3C con la propiedad LocalizedControlType de automatización de la interfaz de usuario; sin embargo, es opcional. Cuando no se especifica una cadena localizada, el sistema proporcionará la cadena LocalizedControlType predeterminada. Los agentes de usuario también pueden ofrecer roles secundarios en la propiedad AriaRole mediante el uso de espacio como separador, tal como se define en el estándar W3C de ARIA.
Atributo de rol de ARIA de W3C (DRAFT) | Rol de accesibilidad activa de Microsoft | Tipo de control de automatización de la interfaz de usuario | Ui Automation AriaRole (propiedad) |
---|---|---|---|
alerta | ROLE_SYSTEM_ALERT | text | alerta |
alertdialog | ROLE_SYSTEM_DIALOG | de panel de | alertdialog |
aplicación | ROLE_SYSTEM_PANE | de panel de | aplicación |
artículo | ROLE_SYSTEM_DOCUMENT | documento | artículo |
estandarte | ROLE_SYSTEM_GROUPING | de grupo de | estandarte |
botón | ROLE_SYSTEM_PUSHBUTTON | de botón de | botón |
casilla | ROLE_SYSTEM_CHECKBUTTON | checkBox de | casilla |
columnheader | ROLE_SYSTEM_COLUMNHEADER | DataItem | columnheader |
cuadro combinado | ROLE_SYSTEM_COMBOBOX | ComboBox | cuadro combinado |
complementario | ROLE_SYSTEM_GROUPING | de grupo de | complementario |
contentinfo | ROLE_SYSTEM_GROUPING | de grupo de | contentinfo |
definición | ROLE_SYSTEM_GROUPING | de grupo de | definición |
descripción | ROLE_SYSTEM_TEXT | text | descripción |
diálogo | ROLE_SYSTEM_DIALOG | de panel de | diálogo |
directorio | ROLE_SYSTEM_LIST | lista de | directorio |
documento | ROLE_SYSTEM_CLIENT | documento | documento |
forma | ROLE_SYSTEM_GROUPING | de grupo de | forma |
rejilla | ROLE_SYSTEM_TABLE | dataGrid | rejilla |
gridcell | ROLE_SYSTEM_CELL | DataItem | gridcell |
grupo | ROLE_SYSTEM_GROUPING | de grupo de | grupo |
encabezado | ROLE_SYSTEM_TEXT | text | encabezado |
img | ROLE_SYSTEM_GRAPHIC | de imagen de | img |
enlace | ROLE_SYSTEM_LINK | de hipervínculo de | enlace |
lista | ROLE_SYSTEM_LIST | lista de | lista |
listbox | ROLE_SYSTEM_LIST | lista de | listbox |
listitem | ROLE_SYSTEM_LISTITEM | ListItem | listitem |
registro | ROLE_SYSTEM_GROUPING | de grupo de | registro |
principal | ROLE_SYSTEM_GROUPING | de grupo de | principal |
marquesina | ROLE_SYSTEM_ANIMATION | text | marquesina |
menú | ROLE_SYSTEM_MENUPOPUP | menú de | menú |
barra de menús | ROLE_SYSTEM_MENUBAR | menuBar de | barra de menús |
menuitem | ROLE_SYSTEM_MENUITEM | menuItem | menuitem |
menuitemcheckbox | ROLE_SYSTEM_CHECKBUTTON | checkBox de | menuitemcheckbox |
menuitemradio | ROLE_SYSTEM_RADIOBUTTON | RadioButton de | menuitemradio |
navegación | ROLE_SYSTEM_GROUPING | de grupo de | navegación |
nota | ROLE_SYSTEM_GROUPING | de grupo de | nota |
opción | ROLE_SYSTEM_LISTITEM | ListItem | opción |
presentación | ROLE_SYSTEM_PANE | de panel de | presentación |
barra de progreso | ROLE_SYSTEM_PROGRESSBAR | ProgressBar de | barra de progreso |
radio | ROLE_SYSTEM_RADIOBUTTON | RadioButton de | radio |
grupo de radio | ROLE_SYSTEM_GROUPING | de grupo de | grupo de radio |
región | ROLE_SYSTEM_PANE | de panel de | región |
fila | ROLE_SYSTEM_ROW | DataItem | fila |
rowheader | ROLE_SYSTEM_ROWHEADER | DataItem | rowheader |
barra de desplazamiento | ROLE_SYSTEM_SCROLLBAR | ScrollBar | barra de desplazamiento |
buscar | ROLE_SYSTEM_GROUPING | de grupo de | buscar |
sección | ROLE_SYSTEM_GROUPING | de grupo de | sección |
separador | ROLE_SYSTEM_SEPARATOR | separador de | separador |
slider | ROLE_SYSTEM_SLIDER | deslizante de | slider |
spinbutton | ROLE_SYSTEM_SPINBUTTON | spinner | spinbutton |
estado | ROLE_SYSTEM_STATUSBAR | statusBar de | estado |
pestaña | ROLE_SYSTEM_PAGETAB | TabItem | pestaña |
tablist | ROLE_SYSTEM_PAGETABLIST | pestaña | tablist |
tabpanel | ROLE_SYSTEM_PANE | de panel de | tabpanel |
cuadro de texto | ROLE_SYSTEM_TEXT | documento | cuadro de texto |
temporizador | ROLE_SYSTEM_CLOCK | de panel de | temporizador |
barra de herramientas | ROLE_SYSTEM_TOOLBAR | ToolBar | barra de herramientas |
información sobre herramientas | ROLE_SYSTEM_TOOLTIP | de información sobre herramientas | información sobre herramientas |
árbol | ROLE_SYSTEM_OUTLINE | de árbol de | árbol |
treegrid | ROLE_SYSTEM_TABLE | dataGrid | treegrid |
treeitem | ROLE_SYSTEM_OUTLINEITEM | TreeItem | treeitem |
Estados y propiedades de ARIA de W3C asignados a la automatización de la interfaz de usuario y la accesibilidad activa de Microsoft
Los estados y las propiedades de ARIA de W3C se asignan a varias funciones y propiedades de automatización de la interfaz de usuario y accesibilidad activas de Microsoft. La mayoría de los estados y propiedades de ARIA son compatibles con la propiedad AriaProperties de automatización de la interfaz de usuario. Las excepciones son propiedades de ARIA que toman referencias a objetos (por ejemplo, la propiedad descrita por ARIA) y las propiedades de ARIA admitidas por el modelo de objetos de accesibilidad. Por ejemplo, se espera que la propiedad activedescendent de ARIA se represente como el elemento con foco en el modelo de objetos de accesibilidad. La propiedad propietaria de ARIA también debe reflejarse en el modelo de objetos de accesibilidad cuando se especifica.
AriaProperties es una propiedad de cadena que tiene una colección de pares nombre-valor cuyos delimitadores son el signo igual (=) y el punto y coma (;), por ejemplo, "checked=true; disabled=false". Una barra diagonal inversa (\) se usa como un escape cuando estos caracteres delimitador o una barra diagonal inversa aparecen en los valores. El código de proveedor puede agregar comprobación para validar las propiedades de ARIA originales en el modelo de objetos de documento, pero no es necesario.
Propiedades y estados de ARIA de W3C | Propiedades de accesibilidad activa de Microsoft | Propiedades de automatización de la interfaz de usuario | Ui Automation AriaProperties (propiedad) |
---|---|---|---|
activedescendent | STATE_SYSTEM_FOCUSED (accState) | HasKeyboardFocus (una propiedad del elemento secundario designado para recibir el foco) | n/a |
atómico | n/a | n/a | atómico |
ocupado | STATE_SYSTEM_BUSY (accState) | n/a | ocupado |
canal | n/a | n/a | canal |
Comprobado | STATE_SYSTEM_CHECKED (accState) | ToggleState (Patrón de control de alternancia) | Comprobado |
mandos | n/a | ControllerFor | n/a |
descrito por | n/a | DescritoBy | n/a |
Deshabilitado | STATE_SYSTEM_UNAVAILABLE (accState) | IsEnabled | Deshabilitado |
dropeffect | n/a | n/a | dropeffect |
Ampliado | STATE_SYSTEM_COLLAPSED o STATE_SYSTEM_EXPANDED (accState) | ExpandCollapseState (patrón de control expandCollapse) | Ampliado |
flowto | n/a | FlowsTo | n/a |
agarrar | n/a | n/a | agarrar |
haspopup | STATE_SYSTEM_HASPOPUP (accState) | n/a | haspopup |
escondido | STATE_SYSTEM_INVISIBLE (accState) | IsOffscreen | escondido |
No válido | n/a | IsDataValidForForm | No válido |
etiquetadoby | n/a | LabeledBy | n/a |
Nivel | accValue | n/a (representado por la estructura de árbol de elementos de automatización) | nivel |
vivir | n/a | n/a | vivir |
multilínea | n/a | tipo de control Document | multilínea |
multiselectable | STATE_SYSTEM_EXTSELECTABLE (accState) | CanSelectMultiple ( patrón de controlselección de) | multiselectable |
Posee | n/a (debe reflejarse en el árbol de objetos accesible) | n/a (debe reflejarse en el árbol de elementos de automatización) | n/a |
Posinset | n/a (representado en la estructura de árbol de objetos accesible o por childId) | n/a (representado en la estructura del árbol de elementos de automatización) | posinset |
Presionado | STATE_SYSTEM_PRESSED | ToggleState (Patrón de control de alternancia) | Presionado |
readonly | STATE_SYSTEM_READONLY | IsReadOnly | readonly |
pertinente | n/a | n/a | pertinente |
Obligatorio | n/a | IsRequiredForForm | Obligatorio |
secreto | STATE_SYSTEM_PROTECTED | IsPassword | secreto |
seleccionado | STATE_SYSTEM_SELECTED | IsSelected (patrón de control SelectionItem) | seleccionado |
setize | n/a | n/a (recuento secundario en la estructura del árbol de elementos de automatización) | setize |
ordenar | n/a | n/a | ordenar |
tabindex | STATE_SYSTEM_FOCUSABLE | IsKeyboardFocusable | tabindex |
valuemax | n/a | Máximo (patrón de control RangeValue) | valuemax |
valuemin | n/a | Mínimo (patrón de control RangeValue) | valuemin |
valuenow | IAccessible::get_accValue | Value (patrón de control RangeValue) | valuenow |
valuetext |
IAccessible::get_accValue NOTA: Cuando se establecen las propiedades valuenow y valuetext ARIA, accValue contiene los datos de la propiedad valuetext de ARIA. |
Value (patrón de control Value) NOTA: Los RangeValue y los patrones de control Value pueden coexistir con la automatización de la interfaz de usuario cuando se especifican valuetext y valuenow. |
valuetext |
Consideraciones adicionales
La automatización de la interfaz de usuario también ofrece un modelo de objetos de texto simple con el patrón de control Text, que admite la inserción de objetos en un objeto Document. Esto permite a los agentes de usuario y las aplicaciones cliente tratar el contenido web como un documento HTML o como una interfaz de usuario de escritorio tradicional, en función de los escenarios del usuario final.