Notas de la versión de Axe DevTools Mobile del 26 de noviembre de 2025
26 de noviembre de 2025
Versiones de Componentes
iOS
- Controlador iOS Appium 2 (axe-appium-xcuitest-driver v2.1.1)
- (Derivado de XCUITest v9.10.4)
- Controlador iOS Appium 3 (axe-appium3-xcuitest-driver v1.0.1)
- (Derivado de XCUITest v10.4.3)
Cómo actualizar: Controlador iOS Appium
Android
- Controlador Android Appium 2 (axe-appium-uiautomator2-driver v2.1.1)
- (Derivado de UiAutomator2 v4.2.8)
- Controlador Android Appium 3 (axe-appium3-uiautomator2-driver v1.0.1)
- (Derivado de UiAutomator2 v5.0.1)
Cómo actualizar: Controlador Android Appium
Correcciones
Controladores Appium
- Mejoras en la experiencia de integración del Hub de Desarrolladores de Axe para agrupar automáticamente todos los escaneos de una sola sesión de prueba en un solo informe.
Problemas Conocidos
Si está experimentando alguno de los problemas a continuación, contáctenos en helpdesk@deque.com o support.deque.com. De este modo, podremos notificarle una vez que esté resuelto o de una solución alternativa identificada si no hay una listada.
- Axe DevTools Mobile realiza pruebas automáticas en aplicaciones nativas de iOS, Android nativo y React Native. Por favor, contacte a su representante de Deque para soluciones de pruebas de accesibilidad en su stack tecnológico.
- Aunque puede obtener algunos resultados de vistas web o de PDFs renderizados, recomendamos encarecidamente realizar pruebas con Axe DevTools para Web o Axe Monitor para obtener pruebas de accesibilidad más completas para la web.
iOS
Propiedad inexacta isVisible de XCTest
Las APIs de accesibilidad de Apple pueden reportar incorrectamente el contenido web dentro de WKWebView como "isVisible", incluso cuando la vista web está cubierta por superposiciones nativas (como vistas modales, alertas u otros elementos de UI nativos). Esto ocurre porque el sistema de accesibilidad verifica si el contenedor WKWebView en sí mismo es visible, en lugar de si su contenido web no está obstruido y es perceptible para el usuario.
Error de accesibilidad de iOS 26 con los selectores
iOS 26 contiene un error de accesibilidad donde los botones de selección predeterminados no anuncian "atenuado" mediante la Tecnología de Asistencia para indicar que no están habilitados. Como resultado, las reglas de iOS también ven estos botones como habilitados incluso si no lo están. Se ha presentado un informe de error a Apple, pero hasta que esto se resuelva, las siguientes reglas pueden reportar resultados en botones de selección deshabilitados: AssociatedText, InaccessibleAction, y ColorContrast.
Hasta que Apple solucione este error, la resolución será [ignorar las reglas](ios-ignore-rule). Los botones de selección predeterminados tienen los identificadores "Decrementar" e "Incrementar", y pueden ser ignorados 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 es posible ejecutar escaneos en dispositivos físicos con iOS Analyzer 1.4.7
Una configuración en el iOS Analyzer 1.4.7 impide que se ejecuten escaneos, devolviendo el mensaje "Fallo en la prueba". Para ejecutar escaneos en un dispositivo físico, actualice al último proyecto de iOS Analyzer.
Error en Proyecto de Analizador y Prueba por Bundle ID en 2.8.1
La funcionalidad de prueba de una aplicación por identificador de bundle 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 a la última versión dentro del proyecto de iOS Analyzer.
Error "No se pudo serializar AxeResult" en Proyecto de Analizador v1.2.0 y SDK v2.12.3
Escanear algunas aplicaciones con esta versión del analizador y SDK resultaría en un "Could not Serialize AxeResult" error. Actualice a la última versión para resolver el error. Actualice al último proyecto de iOS Analyzer.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 que se encuentra una propiedad incorrecta de associatedText (#1622)
Regla de Soporte de Tipo Dinámico no funciona con el simulador iOS 15 Pro
Hay un problema que afecta al simulador del 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 informado un error a Apple.
Reglas contra controles anidados
Mientras observábamos 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 revisión de resultados para aplicaciones UIKit
En las aplicaciones de UIKit, una imagen sin un accessibilityLabel no es enfocada por tecnología de asistencia por defecto.
Las propiedades que usamos para comprobar la capacidad de enfoque de Apple pueden ser inexactas cuando un accessibilityIdentifier se establece en la imagen. Debido a este comportamiento inesperado, los resultados para los problemas de nombre de ImageView en las aplicaciones de UIKit se reportará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 correcciones para los siguientes falsos positivos y actualizaremos esta lista a medida que se publiquen las correcciones.
In Scroll View
Puede reportar problemas para el texto dentro de elementos que actúan como banner. Para hacer estos elementos accesibles a 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, ActiveControlName 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, se puede detectar texto cercano incorrecto, lo que provoca que estas reglas fallen. (#1622)
Android
La regla de contraste de color no se ejecuta cuando los colores de texto y fondo son los mismos
Nuestra regla de contraste de color depende del aprendizaje automático para detectar texto, lo cual asegura que el texto que se está escaneando sea visible para los usuarios de su aplicación. En los casos en que 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 de sugerencia 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 equipadas para hacer que esta experiencia sea accesible.
Para superar este problema, nuestra primera recomendación es ejecutar sus 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 devuelven resultados
Puede ver resultados para vistas que están ocultas detrás de otras vistas en la pantalla. Estas vistas ocultas no están disponibles para 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 alcanzar estas vistas, puede ignorar los problemas correspondientes. No requieren una solución para garantizar la accesibilidad.
Error al ejecutar la detección de texto de ML Kit
La detección de texto de ML Kit es necesaria 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 al referenciar Axe DevTools Mobile en sus pruebas automáticas 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 la biblioteca ML Kit a 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 está ejecutando en ningún componente deslizante que fue escrito en Jetpack Compose. No se puede tomar ninguna acción en este momento. ¡Sin embargo, una solución está llegando pronto!
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 puede ser suprimido 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
// }
}
Por favor, tenga en cuenta que este código solo debe comentarse para API 30 ya que causará problemas al guardar localmente para 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 pantalla. Para probar un elemento para accesibilidad, asegúrese de que esté completamente en pantalla antes de realizar el escaneo.
App Analyzer: Botón de acción flotante desaparece
Introducida con API 31 (Android 12) está la habilidad de ocultar superposiciones que no son del sistema. Para utilizar la aplicación Axe Analyzer, 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 las compilaciones de prueba internas donde pueda utilizar datos de prueba de manera segura y eliminar 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 Axe Accessibility Analyzer, actualice cualquier llamada al método setHideOverlayWindows(true) a setHideOverlayWindows(false) en las ventanas de actividad afectadas.
Falta la captura de pantalla (Caja Negra) en el panel de control
Para desbloquear la funcionalidad completa de Axe DevTools para Mobile, asegúrese de que las capturas de pantalla estén habilitadas. Recomendamos habilitar las capturas de pantalla en una versión de prueba o de depuración de su aplicación que use datos mock para evitar preocupaciones de seguridad. Consulte nuestra guía para habilitar capturas de pantalla en aplicaciones de Android.
Error al establecer `minifiedEnabled` a verdadero
Si minimizas tu compilación, verás un error 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)
Compilaciones con r8 habilitado arrojan un error
Una compilación con r8 habilitada puede intentar minimizar la biblioteca de axeDevTools resultando en un error similar a:
Caused by: java.lang.NullPointerException: throw with null exception
Para resolver este error añade la siguiente línea a tu 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 API de Compose están obsoletas, por favor use las API independientes del diseño para seguir recibiendo actualizaciones. Si continúas usando las API de Compose y encuentras un error del tipo `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)` o `No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?`, por favor consulta la API Compose setTestTag.
Mensaje de registro:MlKitContext has not been initialized
Si encuentras este mensaje, es posible que algunos resultados de reglas no se devuelvan como se esperaba cuando esa regla utilice inteligencia artificial. Las reglas afectadas incluyen Contraste de Color, Texto Enfocable y Nombre del Elemento Anidado. (#841)
MAUI: Regla del Nombre del Texto Editable
Debido a las limitaciones de la arquitectura de la aplicación MAUI en el entorno de Android, la regla del Nombre del Texto Editable se mostrará como Necesita Revisión en el panel de control cuando se sospeche un fallo para la versión 5.5.0 del SDK en adelante. Por favor confirma el comportamiento correcto manualmente para este caso.
Android Nativo: Diálogos / Modales Personalizados
Cuando implementas diálogos o modales personalizados que no extienden los controles nativos, puedes 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, verificarlos manualmente para asegurar que se comportan como se desea con la tecnología de asistencia.
Panel de Control Web
Captura de Pantalla Faltante
Si la captura de pantalla falta en la página de detalles del escaneo, es posible que tu aplicación esté impidiendo que se tomen capturas. A menudo, esto es por razones de seguridad en tu aplicación de producción. Considera eliminar este requisito para tu compilación de prueba para permitir una funcionalidad completa en el Panel de Control Móvil de Axe DevTools.
Algunos nombres de escaneo de Android no están formateados
Algunos nombres de escaneo de Android que se predeterminan 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 temporal, puedes configurar el nombre del escaneo desde el panel o marcos. (#1643)
