Notas de la versión de Axe DevTools Mobile del 24 de septiembre de 2025
24 de septiembre de 2025
Versiones de Componentes
iOS
- SDK de iOS (axeDevToolsXCUI v3.0.0)
- Analizador de iOS (axe-devtools-mobile-analyzer v1.6.0)
- Controlador Appium de iOS (axe-appium-xcuitest-driver v2.0.0)
- (Derivado de XCUITest v10.1.0)
Cómo actualizar: SDK de iOS, Analizador de iOS, Controlador Appium de iOS
Android
- SDK de Android (axe-devtools-android v8.0.1)
- Analizador de Android (Axe Accessibility Analyzer v2.1.2)
- Controlador Appium de Android (axe-appium-uiautomator2-driver v2.0.1)
- (Derivado de UiAutomator2 v5.0.1)
Cómo actualizar SDK de Android, Analizador de Android, Controlador Appium de Android
CLI de Reporte
- CLI de Reporte de Axe DevTools v4.11.1
¿Qué hay de nuevo?
Nueva Regla de Android: Elemento Enfocable Anidado
Deque tiene un compromiso sostenido para ofrecer y optimizar reglas que detecten con precisión problemas reales de accesibilidad. Nuestra regla más reciente para Android ayuda a asegurar que los usuarios de tecnología asistencial reciban toda la información necesaria para interactuar con la interfaz de usuario. Aprenda más sobre nuestra regla Elemento Enfocable Anidado.
Controladores Appium Offline
Ahora disponemos de controladores Appium offline para usar con una clave de licencia proporcionada por Deque. Esto puede ser útil al trabajar con proveedores en la nube o para optimizar el rendimiento en su flujo de trabajo CI/CD al reducir las solicitudes de red.
Soporte de Appium 3
Desde nuestra última versión, Appium ha lanzado nuevas versiones principales de sus controladores para soportar el servidor Appium 3. Hemos incrementado nuestro versiones principales para alinearnos con el repositorio público, y estamos trabajando para asegurar que no haya impacto en la funcionalidad de Axe. Estos controladores son totalmente compatibles con Appium 3. Esperábamos tener compatibilidad hacia atrás con Appium 2, pero descubrimos un error que estamos trabajando en corregir lo antes posible.
Correciones
iOS
- Registros más descriptivos cuando
debugStatementsestán activados - Mejoras en la precisión de las siguientes reglas: Tamaño del Objetivo Táctil y Espaciado del Objetivo Táctil
Android
- Mejoras en la precisión de las siguientes reglas: Valor de Texto Editado y Nombre de Vista de Imagen
CLI de Reporte de Axe DevTools
- Se corrigió un error en los informes HTML para filtrar problemas por severidad en el caso de reglas móviles que pueden reportar múltiples severidades
- Se resolvió un problema en el que los informes HTML fallaban al generarse para nombres de escaneo que incluían barras
Actualizaciones
iOS y Xcode 26
Nuestro equipo ha estado probando diligentemente en preparación para el reciente lanzamiento de iOS y Xcode 26. Esta actualización asegura que el marco XCUI y el controlador Appium puedan ejecutarse en iOS 26, utilizando Xcode 26. Hemos identificado algunos cambios con esta versión que han impactado cómo se ejecutan nuestras reglas, por lo que hemos actualizado Problemas Conocidos en consecuencia y continuaremos haciéndolo a medida que aprendamos más.
Claves Offline
Las automatizaciones offline están disponibles tanto para nuestros SDK como para los controladores Appium, y todos requerirán una clave de licencia offline para fines de autenticación. Por favor, contacte a su representante Deque o contactar soporte para coordinar la entrega de su clave de licencia. Consulte las FAQ para obtener más información sobre el uso de los SDK offline para un rendimiento optimizado sin solicitudes de red.
Problemas Conocidos
Si está experimentando alguno de los problemas a continuación, por favor contáctenos en helpdesk@deque.com o support.deque.com. Luego podremos notificarle una vez que se resuelva o de una solución alternativa identificada si no se encuentra listada.
- Las pruebas automatizadas de Axe DevTools Mobile funcionan en aplicaciones nativas de iOS, Android nativo y React Native. Comuníquese con su representante de Deque para obtener soluciones de pruebas de accesibilidad en su stack tecnológico.
- Aunque puede obtener algunos resultados de vistas web o archivos PDF renderizados, recomendamos encarecidamente realizar pruebas utilizando Axe DevTools para Web o Axe Monitor para las pruebas de accesibilidad más completas en la web.
iOS
Error de accesibilidad en iOS 26 con los steppers
iOS 26 contiene un error de accesibilidad donde los botones predeterminados del stepper no anuncian "atenúa" mediante Tecnología de Asistencia para indicar que no están habilitados. Como resultado, las reglas de iOS también ven estos botones como habilitados aunque no lo estén. Se ha presentado un informe de error a Apple, pero hasta que esto se resuelva, las siguientes reglas pueden informar resultados en botones de stepper deshabilitados: AssociatedText, InaccessibleAction, y ColorContrast.
Hasta que Apple solucione este error, la resolución será [ignorar las reglas](ios-ignore-rule). Los botones predeterminados del stepper tienen los identificadores "Decrementar" e "Incrementar", y se pueden ignorar por identificador si es necesario.
Color Contrast rule does not run when text and background colors are the same
Our Color Contrast rule depends on Machine Learning to detect text, which ensures that the text being scanned is visible to users of your application. In cases where the text contained in a view is the same color as the background, our Machine Learning algorithm is unable to detect if any text is present, so the Color Contrast rule does not run on this view.
No se pueden ejecutar escaneos en dispositivos físicos con iOS Analyzer 1.4.7
Una configuración en iOS Analyzer 1.4.7 impide que se ejecuten los escaneos, devolviendo el mensaje "Prueba fallida". Para ejecutar escaneos en un dispositivo físico, actualice al último proyecto iOS Analyzer.
Error en el Proyecto Analyzer y Pruebas por Bundle ID en 2.8.1
La funcionalidad para 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 target application path specified via test configuration: ...". Actualice a la versión 2.8.2 o a la última versión para resolver el error. Actualice al último dentro del proyecto iOS Analyzer.
Error "No se pudo serializar AxeResult" en el Proyecto Analyzer v1.2.0 y SDK v2.12.3
Escanear algunas aplicaciones con esta versión del analizador y SDK resultaba en un "Could not Serialize AxeResult" error. Actualice a la última versión para resolver el error. Actualice al último proyecto iOS Analyzer.Actualice al último iOS SDK.
Falso Positivo: LabelInName y LabelAtFront en SwiftUI y Aplicaciones Multiplataforma
Algunas pantallas pueden informar falsos positivos con LabelInName y LabelAtFront debido a que se encuentra una propiedad associatedText incorrecta (#1622)
La regla de Soporte de Tipo Dinámico no funciona con el simulador 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á probarlo usando un simulador de iPhone 15 Pro. Se ha presentado un informe de error a Apple.
Reglas contra Controles Anidados
Al revisar una mejora para nuestras reglas, encontramos que en XCTest, los controles anidados no se devuelven en el árbol de accesibilidad. Se ha presentado un informe de error a Apple. (#1110)
Regla de Nombre de ImageView Necesita Resultados de Revisión para Aplicaciones UIKit
En aplicaciones UIKit, una imagen sin un accessibilityLabel no es enfocada por tecnología de asistencia de forma predeterminada.
Las propiedades que utilizamos para verificar la capacidad de enfoque desde Apple pueden ser inexactas cuando un accessibilityIdentifier está configurado en la imagen. Debido a este comportamiento inesperado, los resultados para problemas de Nombre de ImageView en aplicaciones UIKit se informarán como Necesita Revisión. Se ha presentado un informe de error a Apple. (#1633)
Falso Positivo: En Scroll View, Label In Name, Label at Front, y v2.11.0 Image View Name & ActiveControlName
Estamos trabajando activamente en soluciones para los siguientes falsos positivos y actualizaremos esta lista a medida que se liberen los arreglos.
In Scroll View
Puede informar problemas para el texto dentro de elementos que se comportan como banners. Para hacer estos elementos disponibles a quienes requieren texto más grande, use UILargeContentViewer. (#622)
v2.11.0 Image View Name & Active Control Name
Si un UIImageView tiene un accessibilityIdentifier configurado pero no es enfocada por VoiceOver, y tiene controles enfocados anidados dentro de él, ActiveControlName puede informar un falso positivo en el UIImageView. Al eliminar el accessibilityIdentifier se resuelve el problema. Se ha presentado un informe de 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, el texto cercano incorrecto puede ser detectado causando que estas reglas fallen. (#1622)
Android
La regla de Contraste de Color no se ejecuta cuando los colores del texto y del fondo son los mismos
Nuestra regla de Contraste de Color depende del Aprendizaje Automático para detectar el texto, lo que garantiza que el texto escaneado sea visible para los usuarios de su aplicación. En los casos donde el texto contenido en una vista es del mismo color que el fondo, nuestro algoritmo de Aprendizaje Automático no puede detectar si hay algún texto presente, por lo que la regla de Contraste de Color no se ejecuta en esta vista.
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 sugerido no se introdujo 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 equipadas para hacer accesible esta experiencia.
Para superar este problema, nuestra primera recomendación es ejecutar las pruebas en versiones más recientes 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 está oficialmente soportada.
Vistas ocultas de Android devolviendo resultados
Puede ver resultados para vistas que están ocultas detrás de otras vistas en la pantalla. Estas vistas ocultas no son accesibles para la tecnología de asistencia, pero Axe DevTools Mobile aún las reporta como problemas.
Estamos trabajando en una solución para este problema complejo. Mientras tanto, si TalkBack no puede acceder a estas vistas, puede ignorar los problemas correspondientes. No requieren una solución para garantizar accesibilidad.
Error al ejecutar la detección de texto de ML Kit
La detección de texto de ML Kit es requerida en muchas de las reglas de Axe DevTools Mobile para asegurar la precisión de los resultados. La biblioteca ML Kit debería importarse automáticamente cuando se hace referencia a Axe DevTools Mobile en sus pruebas automatizadas de Espresso o UIAutomator. Sin embargo, en algunos casos, la importación automática no ocurre 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 manualmente la biblioteca ML Kit en su proyecto. En el archivo de su aplicación build.gradle agregue lo siguiente bajo dependencias:
implementation 'com.google.mlkit:text-recognition:16.0.1'
Espaciado del objetivo táctil y Jetpack Compose
La regla de Espaciado del Objetivo Táctil actualmente no se ejecuta en ningún componente deslizante que haya sido escrito en Jetpack Compose. No se puede tomar ninguna acción en este momento. ¡Sin embargo, una solución está por llegar!
Error al guardar resultados localmente en API 30
En Android API 30, uno de los lugares donde intentamos guardar los 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 se puede suprimir 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
// }
}
Tenga en cuenta que este código solo debe comentarse para API 30, ya que causará problemas al guardar localmente en otros niveles de API.
Detección de desplazamiento en aplicaciones híbridas y multiplataforma
En algunas aplicaciones híbridas y multiplataforma, podemos devolver resultados inesperados cuando los elementos en una vista de desplazamiento están parcialmente fuera de la pantalla. Para probar un elemento en busca de accesibilidad, asegúrese de que esté completamente visible antes de realizar el escaneo.
Aplicación Analizador: Botón de Acción Flotante Desaparece
La capacidad de ocultar superposiciones no del sistema se introdujo con API 31 (Android 12). Para utilizar la aplicación Axe Analyzer, asegúrese de que esta configuración no esté activada. Si ha optado por utilizar esta característica por sus mejoras de seguridad, le recomendamos dejarla desactivada para las compilaciones de prueba internas donde puede utilizar datos de prueba de manera segura y eliminar problemas 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 Axe Accessibility Analyzer, actualice cualquier llamada al método setHideOverlayWindows(true) a setHideOverlayWindows(false) en las ventanas de actividad afectadas.
Captura de pantalla faltante (Caja negra) en el Tablero
Para desbloquear la funcionalidad completa de Axe DevTools para Móviles, asegúrese de que las capturas de pantalla estén habilitadas. Recomendamos habilitar capturas de pantalla en una versión de depuración o prueba de su aplicación que use datos simulados para evitar problemas de seguridad. Consulte nuestra guía para habilitar las capturas de pantalla en aplicaciones Android.
Bloqueo cuando `minifiedEnabled` está configurado en true
Si minimiza su compilación, verá un bloqueo con un registro de error informando que no se pudo encontrar un adaptador al intentar iniciar sesión en la biblioteca de Axe DevTools. Desactive la minimización para sus 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 resultando en un error similar a:
Caused by: java.lang.NullPointerException: throw with null exception
Para resolver este error, agregue la siguiente línea a su archivo ProGuard para mantener las clases de axeDevTools:
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)
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 use las APIs agnósticas del diseño para seguir recibiendo actualizaciones. Si continúa usando las APIs de Compose y encuentra un error como `Se esperaban exactamente '1' nodo pero se encontraron '2' nodos que satisfacen: (esRaíz)` o `No se inicializó ninguna Vista, ¿llamó a AxeDevToolsCompose.setComposeTestRule()?`, por favor consulte API setTestTag de Compose.
Mensaje de registro:MlKitContext has not been initialized
Si encuentra este mensaje, es posible que algunos resultados de reglas no se devuelvan como se esperaba cuando esa regla está utilizando inteligencia artificial. Las reglas afectadas incluyen Contraste de Color, Texto Enfocable y Nombre de Elemento Anidado. (#841)
MAUI: Regla de Nombre de Texto de Edición
Debido a las limitaciones de la arquitectura de la aplicación MAUI en el ecosistema de Android, la regla de Nombre de Texto de Edición se mostrará como Necesita Revisión en el tablero cuando se sospeche un fallo para la versión SDK 5.5.0 y superior. Por favor confirme el comportamiento correcto manualmente para este caso.
Android Nativo: Diálogos/modales personalizados
Al implementar diálogos o modales personalizados que no extienden los controles nativos, puede obtener resultados para vistas detrás del modal. En este caso, recomendamos no ejecutar nuestra herramienta contra estos modales o diálogos personalizados y en su lugar verificar manualmente para asegurarse de que funcionen con la tecnología de asistencia como se desea.
Tablero Web
Captura de pantalla faltante
Si falta la captura de pantalla en la página de detalles del escaneo, su aplicación podría estar impidiendo que se tomen capturas de pantalla. A menudo esto se debe a razones de seguridad en su aplicación de producción. Considere eliminar este requisito para su compilación de prueba para permitir la funcionalidad completa en el Tablero de Axe DevTools Mobile.
Algunos nombres de escaneo de Android no están formateados
Algunos nombres de escaneo de Android que están predeterminados al 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 tenga un formato más legible. Como solución temporal, puede establecer el nombre del escaneo desde el tablero o los marcos. (#1643)
