Prueba de una aplicación de Oracle JET para accesibilidad de solo teclado
Introducción
Este es el segundo tutorial de la ruta de aprendizaje Identificar problemas de accesibilidad.
Las Directrices de accesibilidad de contenido web (WCAG) 2.2 describen muchos de los criterios de éxito para crear una aplicación web accesible. Este tutorial se centra en los criterios que abordan el uso exclusivo del teclado.
Una aplicación accesible solo con teclado se puede utilizar con dispositivos de entrada alternativos para personas con movilidad limitada o incapacidad para manipular un mouse. Cuando las personas pueden usar un teclado, Internet está a su alcance.
Objetivos
En este tutorial, aprenderá a realizar una prueba de solo teclado de una aplicación web.
Requisitos
- Un entorno de desarrollo configurado para crear aplicaciones Oracle JET con el tiempo de ejecución JavaScript, Node.js y la interfaz de línea de comandos de la versión 13.0 (o posterior) de Oracle JET instalada
- Navegador web de Google Chrome instalado y configurado como navegador web predeterminado
- Acceso a WCAG 2.2
- Acceso a la Guía de gestos y teclado de Oracle JET
- Finalización del tutorial anterior en esta ruta de aprendizaje: Prueba de una aplicación de Oracle JET para la accesibilidad: inspección visual
Tarea 1: Preparación para la prueba de accesibilidad solo con teclado
La inspección visual proporciona una visión general de la estructura y la funcionalidad básica de una página accesible. Las pruebas de solo teclado están en el centro de las pruebas manuales de accesibilidad; le da al desarrollador la oportunidad de interactuar con la aplicación desde la perspectiva de un usuario discapacitado. El subconjunto de los criterios de éxito de WCAG 2.2 en torno al cual se centra este tutorial implica varios conceptos específicos.
- Indicación de enfoque: ¿Hay una indicación de la ubicación actual en la página?
- Secuencia significativa: ¿El orden de la pestaña de la aplicación sigue un patrón predecible?
- Interactuar con controles: ¿Funcionan todos los controles al usar el teclado?
- Trampa del teclado: ¿El indicador de enfoque se atasca en un elemento?
Los criterios de éxito mencionados al principio de esta sección abordan indirectamente el concepto de elementos enfocables, por lo que es necesario definir un par de términos.
- Todos los elementos enfocables (elementos de la página que pueden recibir enfoque mediante tabulación) deben ser accesibles solo con el teclado.
- Todos los elementos accionables (elementos que realizan una función si normalmente se hace clic con el mouse) deben ser operables solo con el teclado. Las personas con discapacidades motoras significativas pueden usar dispositivos de entrada alternativos cuando una aplicación es accesible solo con teclado.
Con estos conceptos aplicables definidos y explicados, está preparado para probar la aplicación de inicio.
-
WCAG Guideline 2.1 Keyboard Accessible (Teclado de la directriz WCAG accesible) establece lo siguiente: "Make all function available from a keyboard".
Esta directriz no debe confundirse con el cuerpo de trabajo titulado Web Content Accessibility Guidelines 2.2, que proporciona el estándar general para el software accesible.
-
Success Criterion 2.1.3 Keyboard (No Exception) (Teclado sin excepción) indica: "Todas las funcionalidad del contenido se pueden usar mediante una interfaz de teclado sin necesidad de tiempos específicos para pulsaciones de teclas individuales".
Observe el texto "No Exception" incluido entre paréntesis del criterio de éxito 2.1.3. Esto significa que la accesibilidad del teclado es obligatoria.
La directriz 2.1 de la WCAG y el criterio de éxito que la sigue subrayan la necesidad absoluta de accesibilidad del teclado. El teclado juega un papel fundamental en llevar la tecnología a todos.
Tarea 2: Verificación de la existencia de un enfoque visual
Las pruebas de accesibilidad solo con teclado se basan únicamente en el indicador de enfoque. El cumplimiento del siguiente criterio de éxito "Focus Visible" no es negociable. Los usuarios discapacitados no pueden navegar por una aplicación sin un enfoque activo o cuando la colocación del enfoque no está clara.
- WCAG Success Criterion 2.4.7 Focus Visible indica: "Cualquier interfaz de usuario operable con teclado tiene un modo de operación en el que el indicador de enfoque del teclado está visible".
A medida que avanza por la aplicación web, siempre debe haber un indicador visible que identifique la ubicación de enfoque. El indicador suele ser un rectángulo. Si se desactiva el rectángulo de enfoque, se produce un fallo en este criterio.
Los desarrolladores de aplicaciones se enorgullecen de las aplicaciones y programas que escriben. Su objetivo es integrar la función con una experiencia visualmente atractiva. Un rectángulo de enfoque a menudo resta valor al diseño; por lo tanto, los desarrolladores a menudo lo ocultan o desactivan y violan el Criterio de Éxito 2.4.7.
Rectángulo de enfoque 1
Rectángulo de enfoque 2
Localice el punto de enfoque en las dos capturas de pantalla anteriores.
La primera captura de pantalla, Rectángulo de enfoque 1, representa una página con una indicación correcta de enfoque. El indicador de enfoque es muy evidente, ya que rodea la ficha Visión general en la parte superior izquierda de la página. La segunda captura de pantalla, Focus Rectangle 2, carece de cualquier indicación de enfoque en el separador Overview.
Observe el rectángulo de enfoque mientras navega por los primeros componentes que se pueden enfocar en la página Introducción.
-
Si la aplicación aún no se está ejecutando, vaya a la carpeta
ACCLearningPath
e iníciela.$ ojet serve
-
Cuando la aplicación se abra en el explorador, pulse
<Ctrl+L>
para establecer el foco en la barra de direcciones y, a continuación, pulse<Tab>
para mover el foco al enlace de omisión de navegación. -
Pulse
<Tab>
para mover el foco a john.hancock@oracle.com en el menú de usuario, en la parte superior derecha de la página. -
Pulse
<Tab>
para mover el foco a Introduction (Introducción) en el menú de navegación principal inmediatamente debajo del menú de usuario. -
Pulse
<down arrow>
para mover el foco a Resources (Recursos) en el menú de navegación y pulse<Enter>
para cargar la página Resources. -
Pulse
<Tab>
para mover el foco al enlace Oracle JET Main Site.Observe que no hay una indicación clara de la ubicación del enfoque. La página Recursos falla el Criterio de Conformidad 2.4.7.
En los siguientes pasos, corregirá el problema del rectángulo de enfoque ausente para cumplir con los estándares de WCAG.
-
Vaya a la carpeta
ACCLearningPath/src/js/views
y abra el archivoresources.html
en un editor de código. -
Busque el enlace del sitio principal de Oracle JET.
<li><a style="outline-width:0" href="https://www.oracle.com/webfolder/technetwork/jet/index.html" target="_blank">Oracle JET Main Site</a> </li>
Cambie
"outline-width:0"
a"outline-width:3"
en el atributo style.<li><a style="outline-width:3" href="https://www.oracle.com/webfolder/technetwork/jet/index.html" target="_blank">Oracle JET Main Site</a> </li>
-
Guarde y cierre
resources.html
.El archivo debe tener un aspecto similar a
resources-html.txt
. -
Repita los pasos 2 a 6 anteriores para verificar que el rectángulo de enfoque ahora esté visible.
Tarea 3: Verificación de una secuencia de fichas de significado
La siguiente parte de las pruebas de solo teclado implica la organización de una página como separadores del usuario a través de ella.
- WCAG Success Criterion 1.3.2 Meaningful Sequence indica: "Cuando la secuencia en la que se presenta el contenido afecta su significado, se puede determinar mediante programación una secuencia de lectura correcta".
- Success Criterion 2.4.3 Focus Order indica: "Si una página web se puede navegar secuencialmente y las secuencias de navegación afectan al significado o la operación, los componentes enfocables reciben el enfoque en un orden que preserva el significado y la operatividad".
El orden de enfoque se puede entender mejor con una ilustración. A medida que el usuario pasa por la página, la ubicación del foco no es aleatoria. No se mueve de un lado de la página al otro y viceversa. Se mueve de una manera esperada y lógica.
En la tarea anterior Verificar la existencia de un enfoque visual, ha visto cómo el enfoque se movía en un orden esperado a través del banner de la página; sin embargo, la página Recursos en sí se ha codificado para ilustrar un orden de separadores más aleatorio.
- En la aplicación que se está ejecutando, pulse
<Ctrl+L>
para establecer el foco en la barra de direcciones. - Pulse
<Tab>
para mover el foco al enlace de omisión de navegación. - Pulse
<Tab>
para mover el foco a john.hancock@oracle.com en el menú de usuario, en la parte superior derecha de la página. - Pulse
<Tab>
para mover el foco a Introduction (Introducción) en el menú de navegación principal. - Pulse
<Tab>
para mover el foco al enlace Oracle JET Main Site en el cuerpo de la página. -
Pulse
<Tab>
. Focus debe pasar a la Guía del desarrollador de Oracle JET, pero en su lugar pasa al enlace Oracle JET Cookbook.The Oracle JET Developer’s Guide link is not in the tab sequence, which violates Success Criteria 2.4.3.
Los pasos del 7 al 11 describen el método necesario para devolver el enlace Oracle JET Developer's Guide a su posición correcta en la secuencia de separadores. Los pasos 12 a 16 ilustran cómo confirmar que la solución funcionó.
-
In your code editor, locate the Oracle JET Developer’s Guide link in the
resources.html
file.<li><a tabindex="-1" href="https://www.oracle.com/pls/topic/lookup?ctx=jetlatest&id=JETDG" target="_blank">Oracle JET Developer's Guide</a> </li>
El atributo
tabindex="-1"
quita este enlace completamente del orden de los separadores de la página. -
Modifique el valor del atributo
tabindex
en0
para que el enlace vuelva a su lugar adecuado en la secuencia de separadores de la página.<li><a tabindex="0" href="https://www.oracle.com/pls/topic/lookup?ctx=jetlatest&id=JETDG" target="_blank">Oracle JET Developer's Guide</a> </li>
-
Guarde y cierre el archivo. La página Recursos del explorador se refresca automáticamente con su nuevo contenido.
-
Pulse
<Ctrl+L>
para fijar el foco en la barra de direcciones. -
Pulse
<Tab>
tres veces para mover el foco a Introduction (Introducción) en el menú de navegación. -
Pulse
<Tab>
para mover el foco al enlace Oracle JET Main Site. -
Press
<Tab>
to move focus to the Oracle JET Developer’s Guide link. -
Continúe pulsando
<Tab>
hasta que el foco llegue al enlace Acerca de Oracle en el pie de página.Una vez que haya navegado por todos los elementos que se pueden centrar en una página, invierta el proceso. A veces, cuando se desplaza hacia atrás a través de una página, la ruta cambia inesperadamente, aparecen nuevos elementos o desaparecen algunos elementos.
- Utilice
<Shift+Tab>
para desplazarse de abajo hacia arriba para asegurarse de que la secuencia significativa es verdadera mientras navega a la inversa por la página.
Tarea 4: Interacción con controles
Muchos de los controles que se utilizan en este tutorial son controles específicos de Oracle JET. Una característica de Oracle JET es que sus componentes están diseñados con accesibilidad de solo teclado ya incorporada. Los desarrolladores que utilizan Oracle JET pueden copiar componentes directamente desde Oracle JET Cookbook y colocarlos en su lugar, y se puede acceder al código resultante.
- WCAG Success Criterion 2.1.1 Keyboard indica: "Todas las funcionalidades del contenido se pueden utilizar a través de una interfaz de teclado sin requerir tiempos específicos para pulsaciones de teclas individuales, excepto cuando la función subyacente requiere una entrada que depende de la ruta del movimiento del usuario y no solo de los puntos finales".
Por ejemplo, aquí hay una breve lista de pulsaciones de teclas comunes para interactuar con componentes HTML estándar:
- Pulse
<Enter>
para activar un enlace, una opción de menú o un separador en la barra de separadores. - Pulse
<Space>
para activar un botón o para cambiar una casilla de control. - Pulse
<down arrow>
para ampliar un cuadro combinado o una lista desplegable. Utilice las teclas de flecha para navegar por la lista.
Nota: para determinados controles, como menús de navegación, barras de tabulación, grupos de radio y controles de grupo similares, puede que tenga que tabular el control y, a continuación, utilizar las teclas de flecha para desplazarse por él.
Utilice la aplicación inicial en ejecución para interactuar con varios componentes de Oracle JET.
-
Pulse
<Ctrl+L>
para fijar el foco en la barra de direcciones. -
Pulse
<Tab>
para mover el foco al enlace de omisión de navegación. -
Pulse
<Tab>
para mover el foco a john.hancock@oracle.com en el menú de usuario, en la parte superior derecha de la página.Según la documentación del teclado del elemento
<oj-menu-button>
, al pulsar<Space>
,<Enter>
o<down arrow>
, se abre el menú y al pulsar<Escape>
, se cierra el menú. -
Presione
<Space>
para expandir el menú de usuario. Focus se mueve a Preferences (Preferencias). -
Pulse
<down arrow>
para bajar la lista de opciones de menú. -
Pulse
<Escape>
para cerrar el menú de usuario. -
Pulse
<Tab>
. Focus pasa a Introduction (Introducción) en el menú de navegación principal inmediatamente debajo del menú de usuario.Para obtener información adicional sobre las pulsaciones de teclas específicas para cada componente de Oracle JET, consulte la Guía de gestos y teclado de Oracle JET.
Tarea 5: Identificación de una captura de teclado
El tema final introducido al principio de este tutorial implica un concepto conocido como una trampa de teclado. Una captura de teclado se produce cuando un usuario no puede mover el foco de un elemento de la página mediante <Tab>
, <Shift+Tab>
o cualquiera de las teclas de flecha.
- Success Criterion 2.1.2 No Keyboard Trap (Criterio de sucesión 2.1.2 sin captura de teclado) indica: "Si el enfoque del teclado se puede mover a un componente de la página mediante una interfaz de teclado, el enfoque se puede mover lejos de ese componente utilizando sólo una interfaz de teclado, y, si requiere más que teclas de flecha o tabulación no modificadas u otros métodos de salida estándar, se aconseja al usuario sobre el método para mover el foco lejos."
Una captura de teclado hace que toda la página no se pueda utilizar para un usuario que solo usa teclado. La solución común para una captura de teclado es reiniciar la aplicación.
¡Practicemos!
En esta sección del tutorial se proporciona un ejemplo detallado de una metodología de prueba de solo teclado.
Al probar la página Organización de la aplicación, verifique que siempre haya una indicación visible de la ubicación de enfoque y que el enfoque se mueva en un patrón predecible.
A la página que probará se accede a través del separador Organization de la página Introduction.
Utilice la aplicación inicial para realizar una prueba de teclado de la página Organización.
-
En la página Recursos de la aplicación, pulse
<Ctrl+L>
para establecer el foco en la barra de direcciones. -
Pulse
<Tab>
para mover el foco al enlace de omisión de navegación. -
Pulse
<Tab>
para mover el foco a john.hancock@oracle.com en el menú de usuario, en la parte superior derecha de la página. -
Pulse
<Tab>
para mover el foco a Introduction (Introducción) en el menú de navegación principal debajo del nombre de usuario.Según la documentación del teclado del elemento
<oj-navigation-list>
, utilice las teclas<up arrow>
y<down arrow>
para navegar por los elementos del menú de navegación principal. -
Pulse
<Enter>
para seleccionar Introduction (Introducción). -
Pulse
<Tab>
y, a continuación,<right arrow>
para mover el foco al separador Organización en la barra de separadores. Pulse<Enter>
para cargar la página Organización.Según la documentación del teclado del elemento
<oj-tab-bar>
, utilice las teclas de flecha para desplazarse dentro de la barra de separadores. -
Pulse
<Tab>
para mover el foco a la vista de árbol. El enfoque se centra en el primer elemento que se puede centrar, el nodo Contabilidad.Según la documentación del teclado del elemento
<oj-tree-view>
, utilice las teclas<up arrow>
y<down arrow>
para navegar entre los nodos de la vista de árbol. -
Pulse
<right arrow>
para ampliar el nodo de grupo Accounting en el árbol y, a continuación, pulse<left arrow>
para contraer el nodo de grupo. -
Pulse
<down arrow>
dos veces para mover el foco al empleado JONES en el nodo de grupo RESEARCH. A continuación, pulse<Enter>
para seleccionarla.Aparecerá un formulario en la parte derecha de la página con los detalles del empleado.
- Pulse
<Tab>
para mover el foco al campo ID de empleado. - Pulse
<Tab>
para mover el foco al campo Nombre del empleado. - Pulse
<Tab>
para mover el foco al campo Cargo. -
Pulse
<Tab>
para mover el foco al campo Hire Date (Fecha de contratación) y mostrar una cuadrícula de calendario ampliada.Según la documentación del teclado del elemento
<oj-date-picker>
, pulse las teclas de flecha para cambiar el foco de la fecha en la cuadrícula de calendario. -
Pulse
<down arrow>
y, a continuación, utilice las teclas de flecha para mover el foco a una fecha en el selector de fechas ampliado. A continuación, pulse<Enter>
para seleccionar una fecha. -
Pulse
<Tab>
para mover el foco al campo Salary (Salario).Según la documentación del teclado del elemento
<oj-input-number>
, utilice<up arrow>
para aumentar el valor de salario y utilice<down arrow>
para reducir el valor de salario. -
Pulse
<Tab>
e intente mover el foco al campo Manager ID (ID de gestor).¿Ha notado que una vez que el foco se ha movido al campo Salario, al pulsar
<Tab>
o<Shift+Tab>
, el foco no se ha movido fuera del campo? Este campo tiene una captura de teclado. Sin una corrección en el código, la única manera de salir de la captura es refrescar la página.
Tarea 6: Eliminar la captura
-
Vaya a la carpeta
src/js/views
y abra el archivoorganization.html
en un editor. -
Localice el elemento
<oj-input-number>
dondeid="salary"
:<oj-input-number id="salary" label-hint="Salary" value="{{empDetails().sal}}" min="0" step="1" on-blur="[[setKeyTrap]]"> </oj-input-number>
Elimine el atributo
on-blur
que provoca la captura del teclado.<oj-input-number id="salary" label-hint="Salary" value="{{empDetails().sal}}" min="0" step="1"> </oj-input-number>
-
Guarde el archivo. A continuación, repita los pasos de la tarea anterior Identify a Keyboard Trap (Identificar una captura del teclado) para asegurarse de que la captura del teclado se haya eliminado.
-
Al acceder al campo Manager Id, pulse
<Tab>
para mover el foco a los botones de radio Jobs.Según la documentación del teclado del elemento
<oj-radioset>
, utilice<up arrow>
para seleccionar el botón anterior en el grupo. Utilice<down arrow>
para seleccionar el botón siguiente en el grupo. -
Pulse
<Tab>
para mover el foco al enlace Acerca de Oracle en la sección de pie de página de la página. -
Revertir el proceso. Pulse
<Shift+Tab>
para volver a los botones de radio Trabajos. Siga pulsando<Shift+Tab>
para retroceder por la página hasta john.hancock@oracle.com en el menú de usuario.
Recuerde consultar la Guía de gestos y teclado de Oracle JET si tiene alguna pregunta sobre las pulsaciones de teclas necesarias para utilizar un componente de Oracle JET o navegar por él.
Se ha completado la fase de prueba de solo teclado.
Siguiente paso
Continúe con el siguiente tutorial de este módulo.
Este tutorial forma parte del módulo Identify Accessibility Issues.
- Prueba de una aplicación de Oracle JET para la accesibilidad: inspección visual
- Prueba de una Aplicación Oracle JET para Accesibilidad de Sólo Teclado
- Realizar validación de lector de pantalla en una aplicación Oracle JET
Puede volver a la página principal de la ruta de aprendizaje de accesibilidad para acceder a todos los módulos sobre accesibilidad.
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.
Para obtener documentación sobre el producto, visite Oracle Help Center.
Test an Oracle JET app for keyboard-only accessibility
F71534-02