Notas de lanzamiento de Axe DevTools Mobile del 18 de octubre de 2023
18 de octubre de 2023
Versiones de Componentes
- axeDevToolsXCUI v2.8.0
- axe-devtools-android v4.2.0
¿Qué hay de nuevo?
Soporte para WCAG 2.2
WCAG 2.2 fue oficialmente lanzado el 5 de octubre. Nuestra regla de "Espaciado de Objetivo Táctil" ha sido promovida fuera del estado Experimental. Esta regla se ajusta a WCAG 2.2. 2.5.8 y garantiza que los objetivos tengan un tamaño mínimo o suficiente espacio a su alrededor. Esto es importante para personas con discapacidades físicas que no pueden hacer clic en botones pequeños que están muy juntos. Aprende más sobre el publicación de WCAG 2.2. Ve la documentación para el Regla de Espaciado de Objetivo Táctil para iOS y la Regla de Espaciado de Objetivo Táctil para Android.
¿Sabías que? La regla de Espaciado de Objetivo Táctil (WCAG 2.2, 2.5.8) cumple con los estándares AA, mientras que la regla de Tamaño de Objetivo Táctil (WCAG 2.1, 2.5.5) cumple con los estándares AAA. Para controles importantes, WCAG recomienda apuntar a la regla más estricta de Tamaño de Objetivo Táctil para cumplir con los estándares AAA. Deque también recomienda apuntar a la regla más estricta en dispositivos móviles porque asegura el cumplimiento de la guía 44ptx44pt de Apple y se alinea más estrechamente con la guía 48dpx48dp de Google para asegurar que no haya problemas al enviar tu aplicación a las tiendas de aplicaciones.
Cambio Importante - Solo Escanea Vistas Visibles
Axe DevTools Mobile ahora solo escaneará las vistas que son visibles para el usuario en el momento del escaneo. Anteriormente, el valor predeterminado era escanear todas las vistas, incluso aquellas que estaban fuera de la pantalla o ocultas por otras vistas.
¿Cómo mejora esto los resultados?
- Al escanear solo lo que es visible para el usuario, los resultados reflejan con mayor precisión la experiencia del usuario de alguien con una discapacidad o alguien que usa tecnología de asistencia. Cualquier cosa detrás de un diálogo o modal que no pueda ser alcanzada por el usuario o por la tecnología de asistencia no se escaneará.
- Las reglas de visión por computadora, como el contraste de color, no se ejecutan en vistas que están fuera de la pantalla, por lo que anteriormente, las vistas fuera de pantalla solo recibían resultados de un conjunto de reglas limitado. Al escanear solo vistas dentro de los límites de la pantalla, puedes estar seguro de que cualquier vista escaneada se beneficia del conjunto completo de reglas.
¿Qué significa esto para tu equipo?
Si actualmente tienes las casillas de "Filtrado de Problemas" en el Tablero desmarcadas, no notarás ninguna diferencia en los resultados de tu Tablero. Las vistas que no son visibles para el usuario ya están excluidas de tus resultados.
De lo contrario, una vez que actualices a axeDevToolsXCUI v2.8.0 y axe-devtools-android v4.2.0:
- Las vistas que están ocultas detrás de otras vistas, como modales o ventanas emergentes, no tendrán resultados de accesibilidad.
- Las vistas que están fuera de la pantalla, como las que están por encima o por debajo de la posición de desplazamiento actual, no tendrán resultados de accesibilidad.
- Consejo: Realiza un escaneo en cada posición de desplazamiento de una pantalla larga para asegurarte de capturar todos los problemas de accesibilidad. Por ejemplo, si la pantalla de inicio de tu aplicación abarca 3 pantallas, debes realizar 3 escaneos como se muestra a continuación:

- Para pantallas largas con un tipo de vista repetida, como una lista, es posible que no sean necesarios múltiples escaneos en cada posición de desplazamiento. Un solo escaneo del primer área visible probablemente capturará los problemas de accesibilidad recurrentes.
- Consejo: Realiza un escaneo en cada posición de desplazamiento de una pantalla larga para asegurarte de capturar todos los problemas de accesibilidad. Por ejemplo, si la pantalla de inicio de tu aplicación abarca 3 pantallas, debes realizar 3 escaneos como se muestra a continuación:
iOS
- La Regla de Texto Asociado ha sido promovida fuera del estado experimental. Esta regla asegura que un control obtenga su nombre accesible de una etiqueta cercana disponible para tecnologías de asistencia como VoiceOver y Voice Control.
- La Regla de Contraste de Color recibió una mejora para capturar un tamaño de fuente estimado y mejorar aún más la precisión de los resultados. Este cambio significa que los resultados para algunos escenarios ahora informarán el estado de 'Aprobado' o 'Rechazado' en lugar de 'Necesita Revisión'.
Android
- Cambio Importante en Reglas Personalizadas - La interfaz para ejecutar reglas personalizadas en Android recibió una actualización para devolver un objeto
RunRuleResulten lugar de un tipoString. Ve un ejemplo completo del cambio o más información sobre reglas personalizadas en Android. - Tras una revisión cuidadosa, hemos decidido eliminar las Reglas de Vista Oculta experimentales de nuestra biblioteca - Enfoque de Vista Activa Oculta y Enfoque de Vista Informativa Oculta. Estas reglas experimentales han pasado por muchas iteraciones mientras recopilamos comentarios durante dos años. Hemos encontrado que automatizar estas reglas tiene el potencial de devolver falsos positivos, y por lo tanto decidimos eliminarlas de nuestro conjunto de reglas automatizado para apoyar nuestro compromiso con 0 falsos positivos. Con esta versión, hemos movido las Reglas de Vista Oculta al estado "ignoradas". Ya no aparecerán en tu recuento de resultados "fallidos" o "aprobados". En nuestra próxima versión (fecha por determinar) serán completamente eliminadas de la biblioteca.
- Hemos añadido resúmenes más descriptivos a las reglas para describir mejor por qué están marcadas como Aprobadas, Rechazadas o Necesitan Revisión.
- Las API de Compose ahora aceptan
ComposeEmptyTestRulepara lanzar una actividad usandoActivityScenario. Esto puede ser más fácil que usarAndroidComposeTestRule, especialmente cuando se usan vistas XML y Compose juntas. Aprender más sobre cómo usar la Regla de Prueba Vacía de Compose. - Con esta versión, actualizamos de Kotlin versión 1.7 a Kotlin 1.9 para asegurar que nuestras bibliotecas sigan siendo compatibles con las últimas versiones de Jetpack Compose. La versión de Kotlin 1.9 tiene compatibilidad hacia atrás con Kotlin 1.8 y superior. Si tu aplicación depende de una versión de Kotlin inferior a 1.8, por favor sigue usando axe-devtools-android v4.1.0 o inferior.
- Actualizamos de Moshi 1.12.0 a 1.15.0 y Jetpack Compose 1.4.3 a 1.5.1.
Corrección de Errores
iOS
- Espaciado de Objetivo Táctil recibió algunas actualizaciones para manejar casos extremos de controles ocultos y elementos completamente superpuestos.
- Mejoras en la detección de elementos de accesibilidad en casos extremos que mejorarán la precisión de los resultados para varias reglas que prueban controles.
- La regla de Soporte para Tipo Dinámico no se ejecutará en controles sin texto visible.
- El marco ya no se congela en elementos Picker. No se esperan cambios en los resultados ya que no hay reglas actuales dirigidas a elementos Picker. Buscaremos oportunidades en el futuro.
Android
- Hemos añadido propiedades de orientación de pantalla legibles para humanos a los valores analizados para la regla de Orientación de Pantalla. Anteriormente, estos eran valores enteros que no podían ser fácilmente entendidos por la persona que revisa los resultados.
- Ahora puedes actualizar la lista de reglas personalizadas al usar el escaneo independiente del diseño a través del Registro de Instrumentación.
Tablero
- Mejoras de accesibilidad en la vista de árbol en la función "Inspeccionar". Ahora puedes navegar exitosamente por la vista de árbol usando un teclado o tecnología de asistencia.
Problemas Conocidos
Si experimentas alguno de los problemas a continuación, por favor contáctanos en helpdesk@deque.com o support.deque.com. Así podremos notificarte una vez que se resuelva o de una solución provisional si no hay ninguna listada.
- Las pruebas automatizadas de Axe DevTools Mobile se ejecutan en aplicaciones nativas de iOS, Android nativo, y React Native. Por favor, contacta a tu representante de Deque para soluciones de pruebas de accesibilidad en tu stack tecnológico.
- Aunque puedes obtener algunos resultados de vistas web o PDF renderizados, recomendamos encarecidamente realizar pruebas utilizando Axe DevTools para Web o Axe Monitor para las pruebas de accesibilidad web más completas.
Axe DevTools Mobile para iOS
Regla de Soporte para Tipo Dinámico no funciona con el simulador de iOS 15 Pro
Existe un problema que afecta al simulador de iPhone 15 Pro que impide que la regla de Soporte para Tipo Dinámico se ejecute. Si estás inscrito en la regla de Soporte para Tipo Dinámico, no podrás probarla utilizando un simulador de iPhone 15 Pro. Se ha presentado un error en Apple.
Reglas contra Controles Anidados
Al mirar una mejora para nuestras reglas, encontramos que en XCTest, los controles anidados no se retornan en el árbol de accesibilidad. Se ha presentado un error en Apple. (#1110)
Falso Positivo: En Vista de Desplazamiento, NombreDeControlActivo
Estamos trabajando activamente en solucionar los siguientes falsos positivos y actualizaremos esta lista a medida que se publiquen las correcciones.
In Scroll View
Puede reportar problemas para texto dentro de elementos que se comportan como banners. Para hacer estos elementos disponibles a quienes requieren texto más grande, utiliza UILargeContentViewer. (#622)
ActiveControlName
Si un UIImageView tiene un `accessibilityIdentifier` establecido pero no es enfocable por VoiceOver, y tiene controles enfocables anidados dentro de él, NombreDeControlActivo puede reportar un falso positivo en el UIImageView. Eliminar el `accessibilityIdentifier` resuelve el problema. Se ha presentado un error en Apple. (#1226)
Falso Negativo: Nombre de la Vista de Imágenes, Texto Enfocable en iOS 13 hasta iOS 14.8.1
Estamos trabajando activamente en solucionar los siguientes falsos negativos y actualizaremos esta lista a medida que se publiquen las correcciones.
Image View Name
Si un UIImageView tiene un `accessibilityIdentifier` establecido pero no es enfocable por VoiceOver, NombreDeVistaDeImágenes puede reportar un falso negativo en el UIImageView. Eliminar el `accessibilityIdentifier` resuelve el problema. Se ha presentado un error en Apple. (#1226)
Focusable Text
Los elementos marcados como elementos no accesibles pueden mostrar resultados incorrectos debido a un error en el marco de trabajo de Apple.
Axe DevTools Mobile para Android
Falla al usar Proguard
Si tu compilación de depuración o prueba está utilizando Proguard, sigue los pasos para ignorar Deque en tus configuraciones de Proguard.
Falla cuando `minifiedEnabled` está configurado en true
Si minimizas tu compilación, verás una falla con un registro de errores que reporta que no se pudo encontrar un adaptador al intentar iniciar sesión en la biblioteca de Axe DevTools. Desactiva la minimización para tus compilaciones de depuración con Axe DevTools implementado. (#729)
Errores al Compilar con Proyecto en Java8 y Axe DevTools Android 3.1.0
Prueba las siguientes importaciones:
implementation 'androidx.core:core-ktx:1.9.0' implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4' implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4'After importing the above library, if you see errors related to minSDK version for core-ktx library try the following in your project’s Android Manifest:
<uses-sdk tools:overrideLibrary="androidx.core" />
Las compilaciones con r8 habilitado arrojan un error
Una compilación con r8 habilitado puede intentar minimizar la biblioteca axeDevTools, lo que resulta en un error similar a:
Caused by: java.lang.NullPointerException: throw with null exception at g.b.b.a$a.a(Unknown Source:1) at g.b.b.a$a.a(Unknown Source:0) at g.b.b.a.a(AccessToken.java:190)To resolve this error add the following line to your ProGuard file to keep axeDevTools classes:
keep class com.deque.** { *; }
Mensaje de error similar a:
Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)
Si encuentras un error del tipo `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)`, por favor contáctanos en helpdesk@deque.com o support.deque.com para obtener asistencia. En ciertas condiciones, puede haber dos nodos raíz de Compose existentes al mismo tiempo.
Panel de Control de Axe DevTools Mobile
Algunos nombres de escaneo en Android no están formateados
Algunos nombres de escaneo en Android que se configuran por defecto al título de la pantalla aparecerán como el nombre completo de la clase, incluyendo el identificador del paquete. En una próxima versión, esto se resolverá para que el título de la pantalla se formatee en un nombre más legible. Como solución provisional, puedes configurar el nombre de escaneo desde el panel de control o los marcos de trabajo. (#1643)
