Chrome comenzó el año y pasó el 88.2% de las pruebas en el área de enfoque de accesibilidad de Interoperabilidad 2024. En junio de 2024, fuimos los primeros en alcanzar el 100% de las pruebas aprobadas. En esta publicación, se explica el trabajo que se llevó a cabo para llegar este objetivo.
¿Qué se incluye en el área de enfoque de accesibilidad?
Al igual que con todas las áreas de enfoque de Interoperabilidad 2024, el área de accesibilidad se define con un conjunto de pruebas de plataforma web para funciones seleccionadas. Las pruebas del objetivo de Interoperabilidad 2024 para garantizar que todos los navegadores creen nombres accesibles y roles procesados en el mismo de una nueva manera.
Los nombres accesibles transmiten el propósito o la intención de un elemento HTML. Esto ayuda los usuarios entiendan para qué sirve el elemento y cómo pueden interactuar con él. El La especificación de accname define cómo se configuran crea esta cadena de nombre accesible para un elemento. La especificación de ARIA incluye una explicación de cómo es este nombre calculadas.
El rol calculado de un elemento es una cadena que representa el rol del
como lo calcula el motor del navegador. Se usa principalmente en
y, por ejemplo, en la función getComputedRole
de WebDriver, habilitar
y pruebas de interoperabilidad.
¿Qué debía hacer el equipo de Chrome?
Había dos áreas de trabajo más grandes que debíamos completar: cambiar la creación de mapas de roles a roles genéricos y quitar roles obsoletos. Luego había algunos correcciones adicionales más pequeñas y funciones para implementar. Además de los siguientes y el trabajo que completó el equipo de Chrome, también colaboramos con Microsoft en que se comprometían a usar Chromium para el área de enfoque de accesibilidad.
Cambiar la asignación de ciertos roles a uno genérico
Cambiar una asignación a un rol genérico quita la semántica de accesibilidad de un . Los elementos genéricos no aportan valor a un árbol de accesibilidad. no están incluidas en el árbol. Esto mejora el rendimiento y hace que el árbol más pequeñas y fáciles de analizar para la tecnología de asistencia. Los siguientes roles por uno genérico.
- Un
<header>
con un alcance de<main>
o un elemento de contenido de división (<article>
,<aside>
,<nav>
o<section>
). - Un
<footer>
con un alcance de<main>
o una elemento de contenido de división (<article>
,<aside>
,<nav>
o<section>
). - Un
<aside>
dentro de un elemento de contenido de sección (<article>
,<aside>
,<nav>
, o<section>
) sin un nombre accesible. - Una
<section>
sin un nombre accesible. - Elementos de lista huérfanos (
<li>
).
Para las primeras cuatro viñetas, normalmente estos elementos se asignan a de puntos de referencia. Tener dos puntos de referencia en una página puede dificultar la navegación. ayuda a reducir los puntos de referencia redundantes, lo que facilita la navegación de la página. El el elemento final generalmente indica un error por parte del desarrollador de la página, un elemento de la lista siempre debe estar dentro de una lista, por lo que un elemento huérfano recibe una en el área de la seguridad en la nube.
Cómo quitar un rol obsoleto
Dimos de baja la función directory
y la asignamos a la función de lista. ARIA
1.2 da de baja directory
.
en el área de la seguridad en la nube. En la especificación, se explica que es equivalente a la función list
.
los desarrolladores deben usar list
. Para mantener la semántica de versiones
contenido que usa directory
, ahora se asigna a list
en Chrome.
Otras correcciones
Agregamos compatibilidad con
gridcell
en el área de la seguridad en la nube. Este nuevo rol diferencia entre gridcell
y
cell
sea más claro. A diferencia de cell
, una gridcell
es enfocable, editable y seleccionable.
Agregamos el cálculo de roles de resguardo. Anteriormente, no verificamos el resguardo Si el primer rol no es válido, usamos otro, que no es ¿Qué es el detalle? en la especificación.
Algunos roles solo son válidos si están en el contexto correcto; agregamos una verificación por el uso no válido de roles, como se muestra a continuación:
- La función
row
debe estar dentro detable
,grid
,rowgroup
otreegrid
. - La función
rowgroup
debe estar dentro detable
,grid
,tree
otreegrid
. - El rol
listitem
debe estar dentro delist
.
Si el rol no es válido, Chrome ahora usará otra información, como el código HTML. para procesar un rol alternativo.
Marcamos thead
y tfooter
como incluidos en el árbol de accesibilidad.
Anteriormente, se marcaban como omitidas, pero seguían incluidas en el árbol. Ahora
el encabezado y los pies de página de las tablas se pueden analizar con tecnologías de accesibilidad.
Aunque es posible que estos cambios no sean visibles para la mayoría de los desarrolladores, con todos los navegadores trabajando para garantizar que estos elementos funcionen de la misma manera, nos aseguramos de que las y roles están expuestos de la misma manera en todas partes.