Notas de la versión de axe DevTools Mobile del 24 de septiembre de 2025

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

24 de Septiembre, 2025

Not for use with personal data

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).
    • (Bifurcado de XCUITest v10.1.0).

Cómo actualizar: iOS SDK, iOS Analyzer, iOS Appium Driver

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)
    • (Bifurcado de UiAutomator2 v5.0.1).

Cómo actualizar Android-SDK, Android Analyzer, Android Appium Driver

Reporter CLI

  • axe DevTools Reporter CLI v4.11.1

¿Qué hay de nuevo?

Nueva regla de Android: Elemento enfocable anidado

Deque tiene un compromiso sostenido de ofrecer y optimizar reglas que detecten con precisión problemas reales de accesibilidad. Nuestra regla más reciente para Android garantiza que los usuarios de tecnología de asistencia reciban toda la información necesaria para interactuar con la interfaz de usuario. Conozca más acerca de nuestra regla Nested Focusable Element.

Controladores de Appium sin conexión

Ya están disponibles los controladores sin conexión de Appium para usar con una clave de licencia proporcionada por Deque. Esto puede ser útil al trabajar con proveedores de nube o para optimizar el rendimiento en su flujo de trabajo de 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 dar soporte al servidor Appium 3. Hemos actualizado nuestras versiones principales para alinearlas 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 retroactiva con Appium 2, pero descubrimos un error que estamos trabajando para solucionar lo antes posible.

Correcciones

iOS

  • Registro más descriptivo cuando debugStatements está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 editable y Nombre de vista de imagen.

axe DevTools Reporter CLI

  • Se corrigió un error en los informes HTML al filtrar problemas por gravedad en el caso de reglas móviles que pueden reportar múltiples niveles de gravedad.
  • Se resolvió un problema por el que los informes HTML no se generaban para nombres de escaneo que incluían barras diagonales.

Actualizaciones

iOS y Xcode 26

Nuestro equipo ha estado realizando pruebas exhaustivas en preparación para el reciente lanzamiento de iOS y Xcode 26. Esta actualización garantiza que el framework XCUI y el driver de Appium funcionen en iOS 26, utilizando Xcode 26. Hemos identificado algunos cambios con esta versión que han afectado el funcionamiento de nuestras reglas, por lo que hemos actualizado Problemas conocidos en consecuencia y continuaremos haciéndolo a medida que obtengamos más información.

Claves sin conexión

Las automatizaciones sin conexión están disponibles tanto para nuestros SDK como para los controladores de Appium, y todos requerirán una clave de licencia sin conexión para fines de autenticación. Por favor, comuníquese con su representante de Deque o contacte al soporte técnico para coordinar la entrega de su clave de licencia. Consulte las preguntas frecuentes para obtener más información sobre el uso de los SDK sin conexión para un rendimiento optimizado sin solicitudes de red.

Problemas Conocidos

Si experimenta alguno de los problemas que se indican a continuación, comuníquese con nosotros a helpdesk@deque.com o support.deque.com. Luego podremos notificarle una vez resuelto o de una solución alternativa identificada si no hay ninguna en la lista.

important
  • Las pruebas automatizadas de axe DevTools Mobile se ejecutan en aplicaciones nativas de iOS, Android y React Native. Comuníquese con su representante de Deque para obtener soluciones de pruebas de accesibilidad en su pila tecnológica.
  • Si bien puede obtener algunos resultados de las vistas web o los PDF renderizados, le recomendamos encarecidamente realizar pruebas con axe DevTools for Web o axe Monitor para obtener las pruebas de accesibilidad más completas para la web.

iOS

Error de accesibilidad en iOS 26 con steppers (controles incrementales)

iOS 26 contiene un error de accesibilidad por el cual los botones de stepper 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 mostrar resultados en botones paso a paso deshabilitados: AssociatedText, InaccessibleAction y ColorContrast.

Hasta que Apple corrija este error, la solución será ignorar las reglas(ios-ignore-rule). Los botones paso a paso predeterminados tienen los identificadores "Decrement" e "Increment", y pueden ignorarse por identificador si es necesario.

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 garantiza que el texto escaneado 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 texto presente, por lo que la regla de Contraste de color no se ejecuta en esta vista.

No se pueden ejecutar escaneos en dispositivos físicos con iOS Analyzer 1.4.7

Una configuración en el Analizador de iOS 1.4.7 impide que se ejecuten escaneos y devuelve el mensaje "Prueba fallida". Para ejecutar escaneos en un dispositivo físico, actualice al último proyecto del Analizador de iOS.

Error en el Proyecto del Analizador & Prueba por ID de paquete en 2.8.1

La funcionalidad de probar aplicaciones mediante ID 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 2.8.2 o la última versión para resolver el error. Actualización a la última versión del proyecto iOS Analyzer.

Error "No se pudo serializar AxeResult" en el Proyecto del Analizador v1.2.0 y SDK v2.12.3

Al escanear algunas aplicaciones con esta versión del analizador y del SDK, se producía un error "Could not Serialize 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 informar falsos positivos con LabelInName y LabelAtFront debido a que se encontró una propiedad associatedText incorrecta (#1622)

La regla Supports Dynamic Type no funciona con el simulador de iOS 15 Pro

Hay un problema que afecta al simulador de iPhone 15 Pro que impide que se ejecute la regla Supports Dynamic Type. Si ha optado por la regla Supports Dynamic Type, no podrá probarla usando un simulador de iPhone 15 Pro. Se ha informado de un error a Apple.

Reglas contra los controles anidados

Mientras buscábamos una mejora para nuestras reglas, descubrimos que en XCTest, los controles anidados no se devuelven en el árbol de accesibilidad. Se ha informado de un error a Apple. (#1110)

La regla de nombre de ImageView para aplicaciones UIKit necesita revisión de resultados

En las aplicaciones UIKit, una imagen sin accessibilityLabel no se puede enfocar con tecnología de asistencia de forma predeterminada.
Las propiedades que usamos para verificar la enfocabilidad de Apple pueden ser inexactas cuando se configura un accessibilityIdentifier en la imagen. Debido a este comportamiento inesperado, los resultados de los problemas de ImageView Name en las aplicaciones UIKit se informarán como Necesita revisión. Se ha enviado un informe de error a Apple. (#1633)

Falso positivo: en Scroll View, Label In Name, Label at Front, y Image View Name v2.11.0 & ActiveControlName

Estamos trabajando activamente para corregir los siguientes falsos positivos y actualizaremos esta lista a medida que se publiquen las correcciones.

En Scroll View
Puede informar problemas de texto dentro de elementos que funcionan como banners. Para que estos elementos estén disponibles para aquellos que requieren un texto más grande, utilice UILargeContentViewer. (#622)

v2.11.0 Image View y nombre del control activo
Si UIImageView tiene un accessibilityIdentifier establecido pero VoiceOver no puede enfocarlo y tiene controles enfocables anidados dentro de él, ActiveControlName puede informar un falso positivo en UIImageView. Quitar el accessibilityIdentifier resuelve el problema. Se ha informado de un error a Apple. (#1633)

Etiqueta en el nombre y etiqueta al principio
Estas dos reglas buscan la etiqueta visible de un control entre los elementos cercanos para ayudar a determinar el estado de la regla. En algunas jerarquías de visualización, 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 del texto y del fondo son los mismos

Nuestra regla de Contraste de color depende del aprendizaje automático para detectar texto, lo que garantiza que el texto escaneado 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 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 se introdujo hasta Android 8 (SDK 26). Al usar este elemento en su aplicación XML, se 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 solucionar este problema, nuestra primera recomendación es ejecutar las 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ías considerar evitar el uso de la hintText función, ya que no es compatible oficialmente.

Las vistas ocultas de Android devuelven resultados

Es posible que vea 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 de asistencia, pero axe DevTools Mobile aún las informa como problemas.

Estamos trabajando para solucionar este complejo problema. Mientras tanto, si TalkBack no puede alcanzar estas vistas, puedes ignorar los problemas correspondientes. No requieren ninguna reparació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 garantizar la precisión de los resultados. La biblioteca ML Kit debe 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 se realiza y verá el siguiente error en el logcat:

Axe DevTools Android: Error while running mlKit Text Detection: MlKitContext has not been initialized.

Para solucionar este problema, debes importar la biblioteca ML Kit a tu proyecto manualmente. En el archivo de tu aplicación, agregue lo siguiente en dependencias: build.gradle

implementation 'com.google.mlkit:text-recognition:16.0.1'
Espaciado de área táctil y Jetpack Compose

La regla de espaciado de área táctil no se ejecuta actualmente en ningún componente de control deslizante escrito en Jetpack Compose. No se puede realizar ninguna acción en este momento. ¡Sin embargo, pronto habrá una solución!

Error al guardar resultados localmente en API 30

En la API 30 de Android, una de las ubicaciones donde intentamos guardar los resultados localmente tiene un error de permisos. El resultado se guardará como un archivo JSON a pesar de que se muestre este error. El error se puede eliminar 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 guardarlo localmente para otros niveles de API.

Detección de desplazamiento en aplicaciones híbridas y multiplataforma

En algunas aplicaciones híbridas y multiplataforma, es posible que devolvamos resultados inesperados cuando los elementos en una vista de desplazamiento estén parcialmente fuera de la pantalla. Para probar la accesibilidad de un elemento, asegúrese de que esté completamente en pantalla antes de realizar el escaneo.

Analyzer App: El botón de acción flotante desaparece

Con la API 31 (Android 12) se introdujo 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 por sus mejoras de seguridad, recomendamos mantenerla desactivada para compilaciones de pruebas internas, donde puede utilizar datos de prueba de forma segura y eliminar problemas de seguridad de esa manera. Nota: esta configuración no afecta a la aplicación de escáner de accesibilidad de Google, ya que se considera una superposición del sistema.

Para utilizar la aplicación Axe Accessibility Analyzer, actualice todas las llamadas al método setHideOverlayWindows(true) a setHideOverlayWindows(false) en las ventanas de actividad afectadas.

Captura de pantalla faltante (cuadro negro) en el panel de control

Para desbloquear la funcionalidad completa de axe DevTools para dispositivos 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. Consulta nuestra guía para habilitar capturas de pantalla en aplicaciones de Android.

Se bloquea cuando `minifiedEnabled` se establece como verdadero

Si minimiza su construcción, verá un cierre inesperado con un registro de error que informa que no se pudo encontrar un adaptador al intentar iniciar sesión en la biblioteca DevTools de axe. Deshabilite la minimización para sus construcciones de depuración con axe DevTools implementado. (#729)

Las compilaciones con r8 habilitado arrojan un error

Una construcción con r8 habilitado puede intentar minimizar la biblioteca axeDevTools, lo que genera un error similar al siguiente:
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)
Para resolver este error, agregue la siguiente línea a su archivo ProGuard para mantener las clases axeDevTools:
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; utilice las API independientes del diseño para seguir recibiendo actualizaciones. Si continúa usando las API de Compose y encuentra un error similar a `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)` o `No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?`, consulte la API setTestTag de Compose.

Mensaje de registro:MlKitContext has not been initialized

Si aparece este mensaje, es posible que algunos resultados de las reglas no aparezcan como se esperaba cuando esa regla utiliza inteligencia artificial. Las reglas afectadas incluyen Contraste de color, Texto con foco y Nombre de elemento anidado. (#841)

MAUI: Regla de Nombre de Texto Editable

Debido a las limitaciones del renderizado de la arquitectura de la aplicación MAUI en el ecosistema Android, la regla Editar nombre de texto se mostrará como Necesita revisión en el panel cuando se sospeche de una falla en la versión 5.5.0 y posteriores del SDK. Confirme manualmente el comportamiento correcto para este caso.

Android nativo: diálogos y modales personalizados

Al implementar cuadros de diálogo o ventanas modales personalizadas que no amplían los controles nativos, puede que obtenga resultados de las vistas que se encuentran detrás de la ventana modal. En este caso, recomendamos no ejecutar nuestra herramienta en estas ventanas modales o cuadros de diálogo personalizados y, en su lugar, verificarlos manualmente para garantizar que se comporten con la tecnología de asistencia como se desea.

Panel de control web

Falta captura de pantalla

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 de pantalla. A menudo, esto se debe a razones de seguridad en tu aplicación de producción. Considere eliminar este requisito para su compilación de prueba para permitir la funcionalidad completa en el Dashboard de axe DevTools Mobile.

Algunos nombres de escaneo de Android no tienen formato

Algunos nombres de escaneo de Android que están predeterminados en el título de la pantalla aparecerán como el nombre de clase completo, incluido el identificador del paquete. En una versión futura, se resolverá este problema para que el título de la pantalla tenga un formato más legible. Como solución alternativa, puede configurar el nombre del análisis desde el panel de control o los frameworks. (#1643)