Notas de la versión de Axe DevTools Mobile 8 de abril de 2026
8 de abril de 2026
Versiones de los componentes
iOS
- iOS SDK (axeDevToolsXCUI v3.3.0)
Cómo actualizar: SDK de iOS
Android
- Android SDK (axe-devtools-android v8.3.0)
- Plugin de Gradle para Android (axe-devtools-android-plugin v1.0.1)
Cómo actualizar Plugin de Gradle para Android
¿Qué hay de nuevo?
Comience a usar Auto Scan con los SDK de Axe DevTools para móviles - Espresso/UI Automator y XCUITest.
Auto Scan es la manera más rápida de añadir verificaciones de accesibilidad a sus pruebas de UI existentes.
- Realice escaneos automáticamente mientras interactúa con su aplicación
- Configure una sola vez, y Auto Scan se escalará para acomodar cualquier nueva prueba que añada a su suite
- Cuando las pruebas terminen de ejecutarse, se imprime un resumen directamente en sus registros de prueba y se genera automáticamente un informe HTML autónomo
- Auto Scan es compatible con entornos tanto en línea como fuera de línea y se integra perfectamente con sus marcos de prueba existentes en iOS y Android
Si está escribiendo pruebas para aplicaciones de Android, tenga en cuenta que la biblioteca axe-devtools-android ya no se añade como una dependencia directa; en su lugar, al importar el plugin de Gradle a su proyecto se incluirá automáticamente. Encuentre todos los detalles en nuestro Instrucciones de configuración de Android.
Actualmente, Auto Scan está disponible para los SDK de iOS y Android. Esta solución pronto estará disponible para nuestros controladores de Appium.
Correcciones
iOS
- Mejoras en la precisión de las siguientes reglas: Tamaño del objetivo táctil, Nombre del control activo y Texto enfocable
Problemas conocidos
Si está experimentando alguno de los problemas a continuación, por favor contáctenos en helpdesk@deque.com o support.deque.com. Entonces podremos notificarle una vez que se haya resuelto o de una solución temporal identificada si no se ha listado ninguna.
- Las pruebas automatizadas de Axe DevTools Mobile se ejecutan en aplicaciones nativas de iOS, Android nativo y React Native. Por favor, contacte a su representante de Deque para obtener soluciones de pruebas de accesibilidad en su pila tecnológica.
- Si bien puede obtener algunos resultados de vistas web o PDFs renderizados, recomendamos encarecidamente probar usando Axe DevTools para Web o Axe Monitor para obtener las pruebas de accesibilidad más completas para la web.
iOS
Falsos positivos para la regla de Contraste de color con fondos degradados en pantallas pequeñas
Al ejecutar verificaciones de accesibilidad en tamaños de pantalla más pequeños o con tamaños de fuente más pequeños, la regla de Contraste de color puede reportar falsos positivos para fondos degradados. En tales casos, puede ser incapaz de determinar el color del primer plano y en su lugar comparar los colores de fondo entre sí, resultando en un fallo.
Para solucionar este problema, intente ejecutar las verificaciones de accesibilidad en dispositivos más grandes. Alternativamente, puede optar por ignorar la regla en sus pruebas y verificar el Contraste de color manualmente para estas vistas.
Inexactitud isVisible propiedad de XCTest
Las API 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í es visible, en lugar de si su contenido web está realmente desobstruido y perceptible para el usuario.
Error de accesibilidad de iOS 26 con steppers
iOS 26 contiene un error de accesibilidad en el que los botones de stepper predeterminados no anuncian „atenuado“ por 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 stepper deshabilitados: AssociatedText, InaccessibleAction, y ColorContrast.
Hasta que Apple solucione este error, la solución será [ignorar las reglas](ios-ignore-rule). Los botones de stepper predeterminados 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.
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)
La regla Soporta Dynamic Type no funciona con el simulador iOS 15 Pro
Hay un problema que afecta al simulador del iPhone 15 Pro que impide que la regla Soporta Dynamic Type se ejecute. Si está suscrito a la regla Soporta Dynamic Type, no podrá probarla usando un simulador de iPhone 15 Pro. Se ha registrado un error con Apple.
Reglas contra Controles Anidados
Al considerar una mejora para nuestras reglas, encontramos que en XCTest, los controles anidados no se devuelven en el árbol de accesibilidad. Se ha registrado un error con Apple. (#1110)
Regla de Nombres de ImageView Necesita Resultados de Revisión para Aplicaciones UIKit
En aplicaciones UIKit, una imagen sin un `accessibilityLabel` no es focalizable con tecnología de asistencia por defecto.
Las propiedades que usamos para verificar la focalización de Apple pueden ser inexactas cuando se establece un `accessibilityIdentifier` en la imagen. Debido a este comportamiento inesperado, los resultados para los problemas del 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, 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 lancen soluciones.
In Scroll View
El texto dentro de elementos que se comportan como banners puede ser señalado con un mensaje de "Necesita Revisión". Para hacer que estos elementos estén disponibles para quienes 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 focalizable por VoiceOver, y tiene controles focalizables anidados en su interior, ActiveControlName puede reportar un falso positivo en el UIImageView. Eliminar el `accessibilityIdentifier` resuelve el problema. Se ha registrado un error con 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 texto cercano incorrecto, causando que estas reglas fallen. (#1622)
Android
Falso positivo en detección de texto anunciado
En algunos casos, la tecnología de asistencia depende de AccessibilityEvent descripciones del sistema Android para anunciar información al usuario cuando no hay otro anuncio disponible. Dado que AccessibilityEvents are triggered by user actions, we are unable to access the correct description if this information is not provided.
Para evitar este problema, asegúrese de que todas las vistas relevantes estén marcadas como importantes para la accesibilidad. Esto permitirá que Talkback acceda a la información desde la vista, que nuestra herramienta puede entonces detectar.
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 texto, lo que asegura que el texto escaneado sea visible para los usuarios de su aplicación. En los casos donde el texto contenido en una vista tiene el mismo color que el fondo, nuestro algoritmo de Aprendizaje Automático no puede detectar si hay 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 pista pueden ver falsos positivos con la EditTextName regla. El texto de pista no fue introducido hasta Android 8 (SDK 26). Usar este elemento en su aplicación XML asignará el texto de pista 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. Si es importante que la aplicación sea accesible en versiones anteriores de Android, sin embargo, podría considerar evitar el uso de la hintText función, ya que no está oficialmente soportada.
Vistas ocultas en Android que 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 la tecnología de asistencia, pero Axe DevTools Mobile todavía las reporta como problemas.
Estamos trabajando en una solución para este complejo problema. 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 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 al hacer 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 la biblioteca ML Kit en su proyecto manualmente. En el build.gradle archivo de su aplicación, agregue lo siguiente bajo dependencias:
debugImplementation 'com.google.mlkit:text-recognition:16.0.1'
Find a full working example of the ML Kit library being imported in the Android Mobile SDK Getting Started section, under Implementación
Espaciado de Objetivo Táctil y Jetpack Compose
La regla de Espaciado de Objetivo Táctil actualmente no se ejecuta en ningún componente de control deslizante que haya sido escrito en Jetpack Compose. No se puede tomar ninguna acción en este momento. Sin embargo, ¡una solución se implementará pronto!
Error al guardar resultados localmente en API 30
En Android API 30, uno de los ubicaciones en que intentamos guardar los resultados localmente tiene un error de permisos. El resultado aún se guardará como un archivo JSON a pesar de que este error se muestra. 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
// }
}
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 la pantalla. Para probar un elemento con fines de accesibilidad, asegúrese de que esté completamente visible en la pantalla antes de realizar el escaneo.
Aplicación de Análisis: Desaparece el Botón de Acción Flotante
Introducida con la API 31 (Android 12) es la capacidad 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 para sus mejoras de seguridad, recomendamos dejarla desactivada para las versiones de prueba internas donde pueda utilizar datos de prueba de forma segura y eliminar de esa manera las preocupaciones de seguridad. 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 Perdida (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 capturas de pantalla en una versión de prueba o debug de su aplicación que use datos ficticios para evitar preocupaciones de seguridad. Consulte nuestra guía para habilitar capturas de pantalla en aplicaciones Android.
Error al minifiedEnabled está configurado a true
Si minimizas tu compilación, verás un fallo con un registro de error reportando 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)
Las compilaciones con r8 habilitado generan 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 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.** { *; }
Mensajes de error al usar las APIs de Compose
Las APIs de Compose están obsoletas, por favor utiliza las APIs agnósticas de diseño para seguir recibiendo actualizaciones. Si continúas usando las APIs de Compose y encuentras un error similar a `Se esperaba exactamente '1' nodo pero se encontraron '2' nodos que satisfacen: (isRoot)` o `No se inicializó View, ¿llamaste a AxeDevToolsCompose.setComposeTestRule()?`, por favor consulta la API Compose setTestTag.
MAUI: regla Edit Text Name
Debido a limitaciones de la arquitectura de la aplicación MAUI al renderizar en el ecosistema Android, la regla Edit Text Name aparecerá como Necesita Revisión en el panel de control cuando se sospeche de un fallo para la versión del SDK 5.5.0 en adelante. Por favor, confirma manualmente el comportamiento correcto para este caso.
Android Nativo: Diálogos / Modales Personalizados
Cuando estés implementando 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 tecnología asistiva como se desea.
Panel de Control Web
Captura de Pantalla Faltante
Si falta la captura de pantalla en la página de detalles de escaneo, tu aplicación puede estar evitando que se tomen capturas de pantalla. Esto a menudo es por razones de seguridad en tu aplicación de producción. Considera eliminar este requisito para tu compilación de prueba para permitir la 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 asignan por defecto 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 solucionará para que el título de la pantalla se formatee en un nombre más legible. Como solución temporal, puedes establecer el nombre del escaneo desde el panel de control o los frameworks. (#1643)
