Prueba de la accesibilidad de una aplicación Oracle JET: inspección visual
Introducción
Las Directrices de accesibilidad de contenido web (WCAG) 2.1 contienen un conjunto de más de sesenta criterios de éxito para crear una aplicación web accesible. En esta ruta de aprendizaje, nos centraremos en un subjuego de estos criterios que se centra principalmente en:
- Uso de un teclado para interactuar con la aplicación.
- Uso de un lector de pantalla para navegar por la aplicación.
- Uso de un amplificador de pantalla para mejorar el campo visual.
Este tutorial se centra en dónde se inicia la prueba de una aplicación: la inspección visual. Este tutorial y los dos que siguen, Test an Oracle JET App for Keyboard-Only Accessibility y Perform Screen-Reader Validation on an Oracle JET App, le guiarán por los pasos de prueba necesarios. Debe completar estos tres tutoriales de prueba en orden antes de continuar con la ruta de aprendizaje.
El primer paso para evaluar la accesibilidad de una aplicación web es realizar una revisión visual de la aplicación. Durante la revisión, busque los siguientes elementos:
- Estructura de página: ¿Las secciones de la página se identifican por cabeceras?
- Título de la página: ¿El título de la página refleja con precisión la página que se está visualizando?
- Omitir enlace de navegación: ¿las páginas de la aplicación incluyen un enlace de omisión de navegación para facilitar la navegación al contenido principal de cada página?
- Color y posición: ¿hay etiquetas para identificar los colores o posiciones de los controles?
- Readability: ¿Es legible la página por personas con baja visión?
Objetivos
En este tutorial, aprenderá a realizar una prueba de accesibilidad manual de una aplicación web, así como a conocer cómo el marco de auditoría de Oracle JavaScript puede ayudar a encontrar problemas de accesibilidad.
Requisitos
- Un entorno de desarrollo configurado para crear aplicaciones de Oracle JET con el tiempo de ejecución JavaScript, Node.js y la interfaz de línea de comandos de Oracle JET versión 13.0 o posterior instalada
- Familiaridad con los objetivos de esta ruta de aprendizaje: Creación de aplicaciones Oracle JET accesibles
- Explorador web de Google Chrome instalado y configurado como explorador web predeterminado
- Acceso al Oracle JET Developer Cookbook
- Descarga la aplicación inicial ACCLearningPath.zip
Tarea 1: Preparación de la aplicación Starter
Estamos utilizando una aplicación de inicio del cajón de navegación de Oracle JET 13.0 en esta ruta de aprendizaje.
-
En la ubicación del sistema de archivos en la que desea que resida la aplicación, extraiga el archivo ACCLearningPath.zip descargado en una carpeta
ACCLearningPath
. -
Abra una ventana de terminal y verifique que esté instalada la última versión de la interfaz de línea de comandos (CLI) de Oracle JET (se requiere la versión 13.0 o posterior).
$ ojet --version
Si se muestra la última versión de la CLI de Oracle JET, la instalación es correcta. Si no es así, vuelva a realizar la instalación con el comando
npm install
para la plataforma.-
Para Windows:
$ npm install -g @oracle/ojet-cli
-
Para sistemas Mac y Linux:
$ sudo npm install -g @oracle/ojet-cli
Una vez finalizada la instalación, la CLI de Oracle JET muestra un resumen de todos los cambios.
-
-
Navegue al directorio
ACCLearningPath
y restaure las herramientas de la aplicación Oracle JET.$ ojet restore
-
Ejecute la aplicación.
$ ojet serve
Las herramientas de Oracle JET ejecutan la aplicación en un explorador web local. El explorador se abre en la página Introducción de la aplicación, con el separador Visión general cargado. La app está lista para usarse.
Deje la ventana de terminal y el explorador abiertos para que la aplicación se actualice automáticamente con los cambios que realice.
Tarea 2: auditoría de la aplicación
Oracle JET Audit Framework (JAF) es una utilidad de línea de comandos y API de soporte diseñada para auditar los archivos de una aplicación Oracle JET, en función de las opciones de tiempo de ejecución que encuentre en un archivo de configuración. Los mensajes de diagnóstico devueltos por la auditoría de una aplicación se derivan de juegos de reglas incorporados que son específicos de la versión de JET de la aplicación. Sin embargo, el marco de auditoría es extensible y los usuarios pueden ampliar sus capacidades mediante la escritura de reglas personalizadas.
Las auditorías de Oracle JAF pueden ayudar a identificar problemas de accesibilidad y otros problemas en sus aplicaciones, aunque no encontrarán todos los problemas de accesibilidad que trataremos en la aplicación ACCLearningPath
. Por este motivo, además de auditar la aplicación, debe seguir el procedimiento y los pasos descritos en esta ruta de aprendizaje Identificar problemas de accesibilidad para buscar y solucionar problemas de accesibilidad. Se debe ejecutar una auditoría de JAF al principio de hacer que la aplicación de ejemplo sea accesible, con el fin de identificar posibles problemas en la aplicación antes de comenzar su trabajo. Para obtener más información sobre Oracle JAF, consulte Using and Extending the Oracle JET Audit Framework.
Descargue y use Oracle JAF en modo CLI para comprobar si hay problemas de accesibilidad.
-
Use
npm
para instalar la CLI de Oracle JAF.Abra una ventana de terminal y compruebe las versiones instaladas de Oracle JAF.
$ ojaf -v
Si no está instalado o si su versión de JAF no es la versión actual, desinstale las versiones anteriores e instale la versión más actual.
$ npm uninstall -g @oracle/oraclejet-audit
$ npm install -g @oracle/oraclejet-audit
-
Navegue al directorio
ACCLearningPath
de la aplicación y utilice el indicador de línea de comandos--init
para inicializar una configuración de JAF por defecto.$ ojaf --init
Las herramientas representan el archivo de configuración de JAF por defecto
oraclejafconfig.json
en el directorioACCLearningPath
y definen los valores de configuración por defecto según el archivo de configuración de la aplicación JEToraclejetconfig.json
, que también se encuentra en el directorio raíz de la aplicación. -
Abra
oraclejafconfig.json
en el editor y asegúrese de que el valor de la propiedadjetVer
es correcto para la versión de JET con la que desea realizar la auditoría (por ejemplo, 13.0, 13.1, etc.)."builtinJetRules": true, "jetVer": "13.0",
Puede personalizar la auditoría de la aplicación agregando o modificando las propiedades de JAF en el archivo
oraclejafconfig.json
. Encontrará una descripción completa de las opciones de configuración en About the Oracle JAF Configuration File Properties. -
Antes de auditar la aplicación por primera vez, puede confirmar la configuración por defecto de los archivos que JAF auditará mediante el indicador de línea de comandos
--dryrun
.$ ojaf --dryrun
Una ejecución simulada no audita la aplicación, pero confirma los archivos que se van a auditar según los valores de configuración actuales de JAF.
Nota: Puede obtener una lista completa de indicadores de línea de comandos introduciendo el comando
ojaf --help
. -
Realice una auditoría de la aplicación introduciendo el comando para llamar a la utilidad de auditoría de JAF.
$ ojaf
-
Al ejecutar la auditoría, Oracle JAF busca en el directorio
oraclejafconfig.json
y crea un informe de auditoría.El informe enumerará los problemas innovadores que se encuentran en la aplicación, así como sus ubicaciones en los archivos de la aplicación. Además, el informe incluye un resumen de los problemas encontrados y sus gravedades, las reglas auditadas y los archivos auditados.
Descripción de la ilustración jaf-report.png
En la lista de problemas del informe de auditoría, observe el problema de nivel de gravedad
blocker
que se encuentra en el archivodepartments.html
:'aria-label' or 'aria-labelledby' missing on <oj-film-strip>
.Falta una propiedad
aria-label
en el componente de tira de película de la aplicación, que puede impedir que un lector de pantalla acceda a la identidad del componente. Este es uno de los problemas de accesibilidad que abordaremos en tutoriales posteriores.
Este es el final del debate sobre Oracle JAF en esta ruta de aprendizaje. Cuando haya terminado de auditar la aplicación, recuerde suprimir la carpeta jaftmp@
y el archivo oraclejafconfig.json
del directorio ACCLearningPath
.
Tarea 3: Revisión de la estructura de página
La estructura de página es el punto de partida lógico para la inspección visual de una aplicación. Las cabeceras HTML proporcionan un esquema del contenido de la página sin centrarse en los detalles específicos. Los lectores de pantalla proporcionan accesos directos para permitir a los usuarios moverse rápidamente entre los encabezados marcados correctamente.
- En el Criterio de Éxito de WCAG 1.3.1 Información y Relaciones se indica lo siguiente: "La información, la estructura y las relaciones transmitidas a través de la presentación se pueden determinar mediante programación o están disponibles en texto".
- En Success Criterion 2.4.6 Headings and Labels, se indica lo siguiente: "Headings and labels describe el tema o la finalidad".
- En Success Criterion 2.4.10 Section Headings se indica lo siguiente: "Las cabeceras de sección se utilizan para organizar el contenido".
Utilice la aplicación ACCLearningPath
para revisar la estructura de la página.
-
En la aplicación en ejecución, determine si las secciones de las páginas se identifican por cabeceras.
El texto de los encabezados es más grande o tiene un estilo diferente al del texto normal de la página. Cree cabeceras HTML verdaderas mediante las etiquetas
<h1>
a<h6>
. -
Determine si el texto de cada encabezado describe adecuadamente el contenido asociado con él.
Examine el separador Overview de la página Introduction. El tercer panel, situado más a la derecha, tiene el encabezado Espacio de texto. El contenido de este panel se refiere al ajuste del espaciado de texto. Por lo tanto, esta rúbrica es un ejemplo de una rúbrica suficientemente descriptiva.
-
Utilice el separador Elementos DevTools de Chrome para determinar si los encabezados son verdaderos encabezados HTML o texto diseñado para que se parezcan a ellos.
-
Haga clic con el botón derecho en el encabezado Página de introducción y seleccione Inspeccionar en el menú contextual para ver la estructura Modelo de objetos de documento (DOM) de la página.
El elemento resaltado del árbol DOM, que se muestra en el panel DevTools Elementos, utiliza el método correcto para crear una cabecera HTML.
<h4>The Introduction Page</h4>
-
Cierre DevTools y, a continuación, haga clic con el botón derecho en la cabecera Página Recursos y seleccione Inspeccionar en el menú contextual.
El elemento resaltado de este árbol DOM tiene un estilo de texto que se parece a un encabezado HTML.
<span class="h4Style">The Resources Page</span>
Un lector de pantalla no detectará este código como un encabezado. Los usuarios del lector de pantalla a menudo navegan por una página por encabezados, y se ignora el texto diseñado para que se parezca a los encabezados. En los siguientes pasos, corregirá la cabecera codificada incorrectamente. Deje la aplicación en ejecución y el explorador abierto para observar cómo los siguientes cambios afectan a la aplicación.
-
-
Vaya a la carpeta
ACCLearningPath/src/js/views
y abraoverview.html
en el editor de códigos. -
Localice la etiqueta
<span class="h4Style">
. -
Sustituya la etiqueta
<span class="h4Style">
por una etiqueta<h4>
. -
Sustituya la etiqueta
</span>
por una etiqueta</h4>
. -
Guarde el archivo y vea los cambios de la aplicación en el explorador.
Tarea 4: revisión del título de la página
Una inspección visual de la aplicación incluye una evaluación de la eficacia del título de la página.
- En WCAG Success Criterion 2.4.2 Page Titled se indica lo siguiente: "Las páginas web tienen títulos que describen el tema o el propósito".
- Success Criterion 2.4.8 Location indica: "Hay información disponible sobre la ubicación del usuario en un juego de páginas web".
Navegue por la aplicación inicial en ejecución y observe cada título de página.
-
Determine si el título de la página identifica claramente la página, el separador y el nombre de la aplicación.
-
Determine si el título de la página cambia al navegar entre páginas o entre los separadores de la página Introducción.
El título de la página debe cambiar para cada página o ficha nueva que se muestre. Por ejemplo, cuando se selecciona Introducción en el menú principal de la parte superior derecha de la página, el título debe ser "Introducción" y cuando se selecciona Recursos, el título debe ser "Recursos".
El título de la página Introducción debe incluir tanto la palabra "Introduction" como el nombre del separador seleccionado actualmente. Cuando selecciona una ficha diferente de la barra de fichas, el título debe cambiar para reflejar la ficha recién seleccionada.
- Introducción - Visión general
- Introducción - Organización
- Introducción - Empleados
- Introducción - Departamentos
Del mismo modo, el título de la página Recursos debe incluir la palabra "Recursos".
Observará que el título de la página no cambia al navegar entre páginas o separadores. Este problema se solucionará en un tutorial posterior.
Tarea 5: Comprobar omitir enlace de navegación
Cuando haya contenido repetido, como enlaces de navegación y logotipos en el encabezado de página de una aplicación web, incluya un enlace de omisión de navegación. Los estándares del sector sugieren que el enlace de omisión de navegación se debe ocultar hasta que se acceda mediante tabulación.
- WCAG Success Criterion 2.4.1 Bypass Blocks indica: "Hay un mecanismo disponible para omitir bloques de contenido que se repiten en varias páginas web".
Prueba de la existencia del enlace de omisión de navegación en la aplicación que se ejecuta en el explorador.
-
En la aplicación, pulse
<Ctrl+L>
para mover el foco a la barra de direcciones. -
Pulse
<Tab>
para que aparezca el enlace de omisión de navegación y reciba el enfoque.Dado que no aparece ningún enlace de omisión de navegación, el enfoque se dirige al primer elemento que se puede enfocar en la página: john.hancock@oracle.com en el menú de usuario en la parte superior derecha de la página. Los elementos que se pueden enfocar se definen con más detalle en el tutorial Accesibilidad de solo teclado.
Durante la prueba, ha determinado que la aplicación inicial no tiene implementado ningún enlace de omisión de navegación.
Hay tres pasos para agregar el enlace Omitir navegación:
- Agregue el enlace al archivo
index.html
. - Agregue una clase de estilo al archivo
app.css
para ocultar el enlace de omisión de navegación hasta que se acople con el tabulador. - Agregue los anclajes de destino a los archivos
intro.html
yresources.html
.
- Agregue el enlace al archivo
Actualizar el archivo index.html
El archivo index.html
define la estructura general de la aplicación web de Oracle JET. El vínculo omitir navegación debe colocarse en esta página.
-
Navegue al directorio
ACCLearningPath/src
y abraindex.html
en un editor de código. -
Localice la etiqueta
<body>
.<body class="oj-web-applayout-body"> <!-- Template for rendering navigation items shared between nav bar and nav list -->
-
Inserte un enlace con su destino como
#main
entre la etiqueta<body>
y el comentario que le sigue.<body class="oj-web-applayout-body"> <a class="hideSkipNav" href="#main">Skip to main content</a> <!-- Template for rendering navigation items shared between nav bar and nav list -->
La clase
hideSkipNav
hará que el enlace sea invisible hasta que el usuario empiece en la parte superior de la página y pulse<Tab>
. -
Guarde y cierre
index.html
. El archivo debe tener un aspecto similar aindex-html.txt
.
Actualizar el archivo app.css
Hemos hecho referencia a la clase de estilo hideSkipNav
en el archivo index.html
. Ahora debemos definirlo en app.css
. Todas las definiciones de estilo personalizado se encuentran en este archivo.
-
Vaya a la carpeta
ACCLearningPath/src/css
y editeapp.css
. -
Agregue la clase de estilo
.hideSkipNav
y las propiedades al final del archivo..hideSkipNav { position: absolute; left: -1000px; } .hideSkipNav:focus { position: unset; left: 0px; }
-
Guarde y cierre
app.css
. El archivo debe tener un aspecto similar a app-css.txt.
Actualizar los archivos HTML de las páginas
Dado que el destino del enlace de omisión de navegación debe estar en la parte superior del contenido principal de cada página, agregue las etiquetas de anclaje de destino a las páginas Introducción y Recurso.
-
Vaya a la carpeta
ACCLearningPath/src/js/views
y edite el archivointro.html
. -
Localice
<div>
con la claseoj-hybrid-padding
.<div class="oj-hybrid-padding"> <div id="mainContainer">
-
Inserte la etiqueta de anclaje y la cabecera
h2
entre las dos etiquetas<div>
.<div class="oj-hybrid-padding"> <a id="main"> <h2>Introduction</h2> </a> <div id="mainContainer">
El código agregado proporciona no solo el destino del enlace de omisión de navegación, sino también una cabecera
h2
para mejorar la estructura de la página. -
Guarde y cierre
intro.html
. El archivo debe tener un aspecto similar a intro-html.txt. -
Abra
resources.html
en el editor de código y localice<div>
con la claseoj-hybrid-padding
.<div class="oj-hybrid-padding"> <ul>
-
Inserte la etiqueta de anclaje y la cabecera
h2
entre las etiquetas<div>
y<ul>
.<div class="oj-hybrid-padding"> <a id="main"> <h2>Resources</h2> </a> <ul>
-
Guarde y cierre
resources.html
. El archivo debe tener un aspecto similar a resources-html.txt. -
En la aplicación en ejecución, pulse
<Ctrl+L>
para mover el foco a la barra de direcciones. -
Pulse
<Tab>
para que aparezca el enlace de omisión de navegación y reciba el enfoque. -
Pulse
<Enter>
para activar el enlace de omisión de navegación.A continuación, el foco pasa al contenido principal de la página.
Una vez que haya probado la funcionalidad del enlace de omisión de navegación, vaya al siguiente elemento de la inspección visual.
Tarea 6: Comprobar el uso del color y la posición
Los botones son una parte integral de las indicaciones que mueven a un usuario de una página o acción a la siguiente. Los desarrolladores mejoran el aspecto y la funcionalidad de una página con el uso de botones de colores. "Pulse el botón verde para continuar" es una instrucción común. Sin embargo, sin un etiquetado adecuado, los usuarios con discapacidad visual no pueden seguir estas instrucciones y otras similares.
- El criterio de éxito de WCAG 1.3.3 Características sensoriales establece: "Las instrucciones proporcionadas para la comprensión y el contenido operativo no se basan únicamente en las características sensoriales de componentes como la forma, el color, el tamaño, la ubicación visual, la orientación o el sonido".
- En Success Criterion 1.4.1 Use of Color se indica lo siguiente: "El color no se utiliza como el único medio visual de transmitir información, indicar una acción, solicitar una respuesta o distinguir un elemento visual".
El panel central de la página Visión general contiene una barra de herramientas con tres botones de colores, así como un par de instrucciones para pulsar los botones en función de su color y posición. Un usuario ciego o ciego por colores no puede distinguir entre los botones porque no tienen etiquetas ni otras características distintivas. Este juego de botones no cumple los criterios de éxito 1.3.3 y 1.4.1.
Descripción de la ilustración color_buttons.png
Cada uno de los botones coloreados del panel central debe tener una etiqueta de texto asociada. Los siguientes cambios agregarán nombres de color como etiquetas a los botones.
-
Vaya a la carpeta
ACCLearningPath/src/js/views
y edite el archivooverview.html
. -
Localice el conjunto de tres elementos
oj-button
.<oj-button id="chat" class="demo-button-green button-set-width" chroming="solid" on-oj-action="[[greenActivated]]"> </oj-button> <oj-button id="paint" class="demo-button-red button-set-width" chroming="solid" on-oj-action="[[redActivated]]"> </oj-button> <oj-button id="bookmark" class="demo-button-purple button-set-width" chroming="solid" on-oj-action="[[purpleActivated]]"> </oj-button>
-
Modifique los botones del código para crear los identificadores de color.
<oj-button id="chat" class="demo-button-green button-set-width" chroming="solid" on-oj-action="[[greenActivated]]">Green </oj-button> <oj-button id="paint" class="demo-button-red button-set-width" chroming="solid" on-oj-action="[[redActivated]]">Red </oj-button> <oj-button id="bookmark" class="demo-button-purple button-set-width" chroming="solid" on-oj-action="[[purpleActivated]]">Purple </oj-button>
-
Guarde
overview.html
y verifique que los botones tienen ahora las etiquetas de texto adecuadas.El archivo debe tener un aspecto similar a overview-html.txt.
Tarea 7: verificar la legibilidad
La fase final de la inspección visual es específica para los usuarios de baja visión. Determine si el ajuste del espaciado de líneas, palabras y caracteres o el cambio del nivel de zoom de la página aumenta o disminuye la legibilidad.
- El texto de WCAG Success Criterion 1.4.4 Resize establece lo siguiente: "Excepto por títulos e imágenes de texto, el texto se puede cambiar de tamaño sin tecnología de asistencia hasta un 200 % sin pérdida de contenido ni funcionalidad".
- En Success Criterion 1.4.12 Text Spacing se indica lo siguiente: "En el contenido implantado mediante lenguajes de marcado que soportan las siguientes propiedades de estilo de texto, no se produce ninguna pérdida de contenido ni funcionalidad al definir todo lo siguiente ni al cambiar ninguna otra propiedad de estilo:
- Altura de línea (espaciado de línea) hasta al menos 1,5 veces el tamaño de fuente.
- Espaciando los siguientes párrafos al menos 2 veces el tamaño de la fuente.
- Espaciado de letras (seguimiento) hasta al menos 0,12 veces el tamaño de la fuente.
- Espaciado de palabras al menos 0,16 veces el tamaño de la fuente."
Utilizaremos la página Visión general para ilustrar estos criterios y verificar el espaciado de texto y el zoom en la aplicación.
Descripción de la ilustración text_spacing.png
-
En la aplicación en ejecución, examine el panel situado más a la derecha de la página, titulado Espacio de texto. El panel contiene dos secciones. Compare el texto de ambas secciones para asegurarse de que todo el texto está presente.
La parte superior del panel tiene texto con espaciado normal. La parte inferior contiene el mismo texto con un espacio de caracteres, palabras y líneas mayor.
Si ninguno de los caracteres de la sección inferior está distorsionado, recortado o solapado, la página cumple el criterio de éxito 1.4.12.
-
Aumenta el nivel de zoom del navegador al 200%. Haga clic en el icono de zoom de lupa en la barra de herramientas y, a continuación, haga clic en el signo + para aumentar el zoom.
Si todo el texto se puede leer y el texto se ajusta correctamente dentro de cada panel, la página cumple el criterio de éxito 1.4.4 con un aumento del 200%.
- El reflujo del criterio de éxito 1.4.10 indica: "El contenido se puede presentar sin pérdida de información o funcionalidad y sin necesidad de desplazarse en dos dimensiones para:
- Contenido de desplazamiento vertical a una anchura equivalente a 320 píxeles en CSS;
- Contenido de desplazamiento horizontal en una altura equivalente a 256 píxeles en CSS. A excepción de las partes del contenido que requieren un diseño bidimensional para el uso o significado".
La página se debe cambiar de formato para que sea necesario desplazarse en una sola dirección. Una página se desplaza horizontal o verticalmente, pero no en ambas direcciones. El criterio de éxito 1.4.10 facilita el uso de las páginas.
- El reflujo del criterio de éxito 1.4.10 indica: "El contenido se puede presentar sin pérdida de información o funcionalidad y sin necesidad de desplazarse en dos dimensiones para:
-
Aumente el zoom al 400%.
-
Examine la página para ver la apariencia de las barras de desplazamiento. Si aparecen barras de desplazamiento tanto horizontales como verticales, la página no cumple este criterio.
La fase de prueba inicial está completa. El siguiente tutorial dentro de esta ruta de aprendizaje es Test an Oracle JET App for Keyboard-Only Accessibility.
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 accessibility: visual inspection
F34159-02
October 2022
Copyright © 2022, Oracle and/or its affiliates.