Notas de la versión de Axe DevTools Mobile del 26 de marzo de 2025
26 de marzo de 2025
Versiones de componentes
iOS
- iOS SDK (axeDevToolsXCUI v2.14.1)
- iOS Analyzer (axe-devtools-mobile-analyzer v1.4.9)
- iOS Appium Driver (axe-appium-xcuitest-driver v1.3.0)
Cómo actualizar: iOS SDK, iOS Analyzer, iOS Appium Driver
Android
- Android SDK (axe-devtools-android v6.2.0)
- Android Analyzer (Axe Accessibility Analyzer v1.12.0)
- Android Appium Driver (axe-appium-uiautomator2-driver v1.4.0)
Cómo actualizar Android-SDK, Android Analyzer, Android Appium Driver
¿Qué hay de nuevo?
SDK
Al escribir tus pruebas, ahora puedes optar por ignorar reglas experimentales de los SDK de Axe DevTools Mobile. Dado que las reglas experimentales todavía están en fase de prueba y desarrollo, puedes optar por centrarte en los resultados basados en el conjunto de reglas estándar.
Appium Driver
Tienes varias opciones nuevas cuando realizas un escaneo con nuestros controladores de Appium. Puedes:
- Ignorar las reglas experimentales al configurar tu configuración
- Deshabilitar la carga de escaneos al Panel Móvil, para reducir el número de solicitudes de red y mejorar la velocidad de escaneo
- Crear un enlace a un escaneo en el Panel Móvil usando la clave de resultado
Para aprender más, visita la página Características de Appium.
Correcciones
iOS
- Se corrigió el error
couldNotSerializeResultpara vistas que tienen un área infinita - Se redujeron los falsos positivos para vistas que están parcialmente fuera de pantalla
- Mejoras en la precisión de las reglas de Contraste de Color y Vistas Colisionantes
Android
- Se corrigió un problema con cómo se almacena la captura de pantalla en el escaneo
- Se redujeron los falsos positivos para WebViews
- Prevención de fallos en la pantalla de inicio de sesión de la aplicación Analyzer
- Mejoras en la precisión de las siguientes reglas: Espaciado de Objetivos Táctiles, Nombre de ImageView, Etiqueta al Frente y Texto Enfocable
Problemas conocidos
Si estás experimentando cualquiera de los siguientes problemas, por favor contáctanos en helpdesk@deque.com o support.deque.com. Entonces podremos notificarte una vez que se resuelva o de una solución alternativa 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 obtener soluciones de pruebas de accesibilidad en tu stack tecnológico.
- Aunque puedes obtener algunos resultados de vistas web o PDFs renderizados, recomendamos encarecidamente probar con Axe DevTools para Web o Axe Monitor para obtener las pruebas más completas de accesibilidad para la web.
iOS
No se pueden realizar escaneos en dispositivos físicos con iOS Analyzer 1.4.7
Una configuración en iOS Analyzer 1.4.7 impide realizar escaneos, devolviendo el mensaje "Prueba fallida". Para realizar escaneos en un dispositivo físico, actualiza al último proyecto de iOS Analyzer.
Error en el Proyecto del Analizador y Pruebas por ID del Paquete en 2.8.1
La funcionalidad de probar una aplicación por identificador de paquete se rompió en la versión 2.8.1, lo que resultó en un error titulado „No se especificó la ruta de la aplicación objetivo a través de la configuración de prueba: ...“. Actualice a 2.8.2 o la última versión para resolver el error. Actualice a la última dentro del proyecto del Analizador de iOS.
Error „No se pudo serializar AxeResult“ en el Proyecto del Analizador v1.2.0 y SDK v2.12.3
Analizar algunas aplicaciones con esta versión del analizador y SDK resultaría en un error „No se pudo serializar AxeResult“. Actualice a la última versión para resolver el error. Actualice al último proyecto del Analizador de iOS.Actualice al último SDK de iOS.
Falso Positivo: LabelInName y LabelAtFront en SwiftUI y Aplicaciones Multiplataforma
Algunas pantallas pueden reportar falsos positivos con LabelInName y LabelAtFront debido a una propiedad de texto asociado incorrecta encontrada (#1622)
Regla de Soporte de Tipo Dinámico no funciona con el simulador de iOS 15 Pro
Hay un problema que afecta al simulador de iPhone 15 Pro que impide que la regla de Soporte de Tipo Dinámico se ejecute. Si está inscrito en la regla de Soporte de Tipo Dinámico, no podrá probarla usando un simulador de iPhone 15 Pro. Se ha presentado un error a Apple.
Reglas contra Controles Anidados
Mientras buscamos una mejora para nuestras reglas, encontramos que en XCTest, los controles anidados no se devuelven en el árbol de accesibilidad. Se ha presentado un error a Apple. (#1110)
La Regla de Nombre de ImageView Necesita Revisar Resultados para Aplicaciones UIKit
En aplicaciones UIKit, una imagen sin una `accessibilityLabel` no es enfocada por tecnología asistiva por defecto.
Las propiedades que usamos para verificar la capacidad de ser enfocada desde Apple pueden ser inexactas cuando se establece un `accessibilityIdentifier` en la imagen. Debido a este comportamiento inesperado, los resultados para problemas de Nombre de ImageView en aplicaciones UIKit se reportarán como Necesita Revisión. Se ha presentado un reporte de error a Apple. (#1633)
Falso Positivo: En Vista de Desplazamiento, Etiqueta en Nombre, Etiqueta al Frente, y v2.11.0 Nombre de Vista de Imagen & NombreControlActivo
Estamos trabajando activamente en correcciones para los siguientes falsos positivos y actualizaremos esta lista a medida que se publiquen las correcciones.
In Scroll View
Puede informar problemas para texto dentro de elementos que se comportan como banners. Para hacer estos elementos disponibles para aquellos que requieren texto más grande, use UILargeContentViewer. (#622)
v2.11.0 Image View Name & Active Control Name
Si un UIImageView tiene un `accessibilityIdentifier` establecido pero no es enfocado por VoiceOver, y tiene controles enfocables anidados dentro de él, NombreControlActivo puede reportar un falso positivo en el UIImageView. Eliminar el `accessibilityIdentifier` resuelve el problema. Se ha presentado un error a Apple. (#1633)
Label In Name and Label At Front
Estas dos reglas buscan la etiqueta visible de un control entre elementos cercanos para ayudar a determinar el estado de la regla. En algunas jerarquías de vista, puede detectarse el texto cercano incorrecto causando que estas reglas fallen. (#1622)
Android
EditTextName en Android 7 (SDK 24-25)
Las aplicaciones escritas con XML que utilizan la función de texto de sugerencia pueden ver falsos positivos con la EditTextName regla. El texto de ayuda no fue introducido hasta Android 8 (SDK 26). Usar este elemento en su aplicación XML asignará el texto de sugerencia al valor del campo de entrada de texto. Las versiones más recientes de Android están mejor capacitadas para hacer esta experiencia accesible.
Para superar este problema, nuestra primera recomendación es ejecutar sus pruebas en versiones más nuevas de Android. Sin embargo, si es importante que la aplicación sea accesible en versiones anteriores de Android, podría considerar evitar el uso de la hintText función, ya que no es compatible oficialmente.
Vistas ocultas de Android retornando resultados
Puede ver resultados de vistas que están ocultas detrás de otras vistas en la pantalla. Estas vistas ocultas no están disponibles para la tecnología asistiva, pero Axe DevTools Mobile todavía las reporta como problemas.
Estamos trabajando en una solución para este problema complejo. Mientras tanto, si TalkBack no puede alcanzar estas vistas, puede ignorar los problemas correspondientes. No requieren una solución para asegurar la accesibilidad.
Error al ejecutar la Detección de Texto de ML Kit
La detección de texto de ML Kit se requiere en muchas de las reglas de Axe DevTools Mobile para asegurar la precisión de los resultados. La biblioteca ML Kit debe ser importada automáticamente al referenciar Axe DevTools Mobile en sus pruebas automatizadas de Espresso o UIAutomator. En algunos casos, sin embargo, la importación automática no sucede y verá el siguiente error en el logcat:
Axe DevTools Android: Error while running mlKit Text Detection: MlKitContext has not been initialized.
Para superar este problema, debe importar la biblioteca ML Kit en su proyecto manualmente. En el build.gradle de su aplicación, agregue lo siguiente bajo dependencias:
implementation 'com.google.mlkit:text-recognition:16.0.1'
Espaciado de Objetivo Táctil y Jetpack Compose
La regla de Espaciado de Objetivo Táctil actualmente no se ejecuta en ningún componente deslizante que fue escrito en Jetpack Compose. No se puede tomar ninguna acción en este momento. ¡Sin embargo, se avecina una solución!
Error al guardar resultados localmente en API 30
En Android API 30, una de las ubicaciones en las que intentamos guardar resultados localmente tiene un error de permisos. El resultado aún se guardará como un archivo JSON a pesar de que se muestre este error. El error puede suprimirse comentando el código en el siguiente bloque:
def clearDirectoryTask = task('clearDirectoryTask', type: Exec, group: 'reporting') {
executable "${android.getAdbExecutable().toString()}"
args 'shell', 'rm', '-r', '/storage/emulated/0/Documents/AxeTestCases'
// finalizedBy {
// fetchAndroidFolderAxeReportsTask
// }
}
Please note that this code should only be commented out for API 30 as it will cause problems when saving locally for other API levels.
Detección de desplazamiento en aplicaciones híbridas y multiplataforma
En algunas aplicaciones híbridas y multiplataforma, podemos obtener resultados inesperados cuando elementos en una vista de desplazamiento están parcialmente fuera de pantalla. Para probar un elemento para accesibilidad, asegúrese de que esté completamente en pantalla antes de realizar el escaneo.
Aplicación de Analizador: Botón de Acción Flotante Desaparece
Introducida con la API 31 (Android 12) está la capacidad de ocultar superposiciones no del sistema. Para utilizar la aplicación del Analizador Axe, asegúrese de que esta configuración no esté activada. Si ha optado por utilizar esta función por sus mejoras de seguridad, recomendamos dejarla desactivada para versiones de prueba internas donde pueda utilizar datos de prueba de forma segura y eliminar las preocupaciones de seguridad de esa manera. Note: this setting does not affect Google's accessibility scanner app as it's considered a system overlay.
Para utilizar la aplicación del Analizador de Accesibilidad Axe, actualice cualquier llamada al método setHideOverlayWindows(true) a setHideOverlayWindows(false) en las ventanas de actividad afectadas.
Captura de Pantalla Falta (Caja Negra) en el Tablero
Para desbloquear la funcionalidad completa de Axe DevTools para Móvil, asegúrese de que las capturas de pantalla estén habilitadas. Recomendamos habilitar las capturas de pantalla en una versión de depuración o prueba de su aplicación que use datos simulados para evitar preocupaciones de seguridad. Consulte nuestra guía para habilitar capturas de pantalla en aplicaciones de Android.
Error cuando `minifiedEnabled` está configurado en verdadero
Si minimizas tu compilación, verás un bloqueo con un registro de error que informa que no se pudo encontrar un adaptador al intentar iniciar sesión en la biblioteca Axe DevTools. Desactiva la minimización para tus compilaciones de depuración con Axe DevTools implementado. (#729)
Las compilaciones con r8 habilitado lanzan 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)
o: No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?
Las APIs de Compose están obsoletas, por favor usa las APIs independientes del diseño para seguir recibiendo actualizaciones. Si continúas usando las APIs de Compose y encuentras un error del tipo `Se esperaban exactamente '1' nodo pero se encontraron '2' nodos que satisfacen: (esRoot)` o `No se inicializó la Vista, ¿llamaste a AxeDevToolsCompose.setComposeTestRule()?`, por favor consulta la API Compose setTestTag.
Mensaje de registro:MlKitContext has not been initialized
Si encuentras este mensaje, algunos resultados de las reglas pueden no retornar como se esperaba cuando esa regla está utilizando inteligencia artificial. Las reglas afectadas incluyen Contraste de Color, Texto Enfocable y Nombre del Elemento Anidado. (#841)
MAUI: Regla del Nombre de Texto Editar
Debido a las limitaciones de la arquitectura de la aplicación MAUI en el ecosistema Android, la regla del Nombre de Texto Editar se mostrará como Necesita Revisión en el panel de control cuando se sospeche un fallo para la versión SDK 5.5.0 y superiores. Por favor confirma manualmente el comportamiento correcto para este caso.
Android Nativo: Diálogos/Modales Personalizados
Cuando implementes diálogos o modales personalizados que no extienden los controles nativos, puedes obtener resultados para las vistas detrás del modal. En este caso, recomendamos no ejecutar nuestra herramienta contra estos modales o diálogos personalizados y en su lugar verificarlos manualmente para asegurar que funcionan con la tecnología de asistencia como se desea.
Panel de Control Web
Captura de Pantalla Faltante
Si la captura de pantalla falta en la página de detalles del análisis, tu aplicación puede estar impidiendo que se tomen capturas de pantalla. A menudo, esto se debe a razones de seguridad en tu aplicación de producción. Considera eliminar este requisito para tu compilación de prueba para permitir plena funcionalidad en el Panel de Control Móvil de Axe DevTools.
Algunos nombres de análisis de Android no están formateados
Algunos nombres de análisis de Android que son predeterminados para el título de la pantalla aparecerán como el nombre completo de la clase incluyendo el identificador del paquete. En una futura versión, esto se resolverá para que el título de la pantalla sea formateado de una manera más legible. Como solución temporal, puedes establecer el nombre del análisis desde el panel de control o los frameworks. (#1643)
