Notas de la versión de Axe DevTools Mobile del 7 de octubre de 2026

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

7 de octubre de 2026

Not for use with personal data

Versiones de componentes

iOS

  • SDK de iOS (axeDevToolsXCUI v4.3.0)

Cómo actualizar: SDK de iOS

Android

  • SDK de Android (axe-devtools-android v9.3.0)
  • Plugin de Gradle para Android (axe-devtools-android-plugin v1.3.1)
  • Analizador de Android (Axe Accessibility Analyzer v4.1.0)

Cómo actualizar Plugin de Gradle para Android, Analizador de Android

Correcciones

Android

  • Se corrigió un problema donde se devolvían pocos o ningún resultado al ejecutar pruebas de UI de Jetpack Compose con Auto Scan. Ahora, Auto Scan captura más pantallas, brindándole resultados más precisos.
  • Correcciones de seguridad para la biblioteca de Android y el plugin de Gradle

Actualizaciones

iOS

  • runScansAndReport() ahora devuelve un valor de cadena skippedScanCount junto con summary y htmlReportPath. Ahora puede ver cuántas pantallas capturadas no pudieron ser escaneadas y fueron omitidas de los resultados. Cuando no se omiten pantallas, el valor devuelto es "0".

Problemas conocidos

Si está experimentando alguno de los problemas mencionados a continuación, contáctenos en helpdesk@deque.com o support.deque.com. Entonces podremos notificarle una vez que esté resuelto o de una solución alternativa identificada si no se encuentra en la lista.

important
  • Las pruebas automatizadas de Axe DevTools Mobile se ejecutan en aplicaciones nativas de iOS, Android nativo y React Native. Póngase en contacto con su representante de Deque para obtener soluciones de pruebas de accesibilidad en su stack tecnológico.
  • Aunque puede obtener algunos resultados de las vistas web o archivos PDF renderizados, recomendamos encarecidamente hacer pruebas usando Axe DevTools para Web o Axe Monitor para obtener las pruebas de accesibilidad más completas para la web.

iOS

Configuraciones recomendadas de tiempo de espera para axeScan en pantallas pesadas

Al escanear una pantalla con jerarquías de vistas grandes o complejas, el comando axeScan puede demorar más de 60 segundos en completarse. El proxy WebDriverAgent (WDA) de Appium aplica un tiempo de espera predeterminado de 60 segundos a los comandos desconocidos, y axeScan cae en esa categoría. Si el escaneo no ha terminado en ese tiempo, WDA cancela la solicitud y la prueba genera un error de tiempo de espera

Para anular el tiempo de espera por comando para los comandos proxiados de WDA como axeScan, recomendamos las siguientes configuraciones en sus capacidades de Appium:

  • appium:commandTimeouts: 240000 (4 minutos)
  • appium:wdaConnectionTimeout: 30000 (5 minutos)

Note: appium:newCommandTimeout is a different setting. It controls how long Appium waits between commands from the test script. That is not the cause of this issue. The relevant setting is appium:commandTimeouts

Falla del simulador del Analizador de Escritorio al iniciar

Si está en Xcode 27 y ejecuta una aplicación Mobile Analyzer Desktop anterior a la versión 2.0.0, la aplicación no puede abrir el simulador de iOS. Falla cuando intenta iniciar /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app No puede iniciar un escaneo basado en simulador hasta que esto se resuelva.

Para ejecutar escaneos usando un simulador en Xcode 27, actualice el Analizador de Escritorio a la versión 2.0.0 o superior. Con esta actualización, tenga en cuenta que ahora los resultados de accesibilidad se encuentran en Axe Developer Hub.

Indeterminismo del OCR de Vision en iPad afecta reglas basadas en Vision

El SDK de Axe DevTools usa el marco Vision de Apple para leer texto de la pantalla para varias reglas de accesibilidad (por ejemplo, Contraste de Color, Vistas en Colisión, cualquier regla que dependa del texto detectado por Vision).

Vision no siempre devuelve el mismo texto detectado entre ejecuciones de la misma pantalla. Cuando Vision no detecta el texto en un control, las reglas que dependen de ese texto no se ejecutarán para ese elemento en ese escaneo. Los hallazgos pueden parecer inconsistentes entre dos escaneos de la misma pantalla - un problema que falla en un escaneo puede estar ausente en el siguiente.

Cuando una regla basada en Vision informa un fallo, dicho fallo en sí es preciso. La inconsistencia está en si la regla se ejecuta o no. Para superar este problema, intente lo siguiente:

  • Vuelva a ejecutar el escaneo. Si una regla basada en Vision fue omitida para un control, otro escaneo de la misma pantalla a menudo lo detecta.
  • Trate cualquier fallo de regla basada en Vision como válido - si el Contraste de Color señala un control, el problema de contraste es real y debe ser abordado.
  • Para verificación manual, utilice la referencia de Deque University para el criterio de éxito de WCAG relevante. (Los enlaces se pueden encontrar al final de las páginas de cada regla.)
Resultados incompletos para la regla Soporta Tipo Dinámico en pantallas con signos de porcentaje en el texto

En iOS 26 y posteriores, si una pantalla contiene texto con un signo de porcentaje (por ejemplo, una etiqueta de texto que dice "50% Off"), es posible que la regla Soporta Tipo Dinámico sea reportada como Incompleta en lugar de un aprobado o un fallo. Esta regla depende de una auditoría de accesibilidad proporcionada por Apple, y esa auditoría detiene la ejecución de la prueba cuando encuentra signos de porcentaje. Para mantener sus pruebas en funcionamiento, nuestra regla omite la verificación para esa pantalla y reporta incompleto para cada elemento que contiene un signo de porcentaje. Todas las demás reglas se ejecutan normalmente en la pantalla, y otras pantallas no se ven afectadas.

No se requiere ninguna acción, ya que su escaneo aún se completará. Para verificar el soporte del Tipo Dinámico para estas pantallas, aumente el tamaño del texto en su dispositivo en **Configuración** > **Accesibilidad** > **Pantalla y tamaño de texto** > **Texto grande**, y confirme que el texto en la pantalla se escala adecuadamente. Este problema ha sido reportado a Apple. (#2985)

La regla de Contraste de Color puede ejecutarse en elementos solo con íconos debido al OCR

La regla de Contraste de Color utiliza el marco Vision de Apple (Reconocimiento Óptico de Caracteres, u OCR) para leer texto dentro de los límites de un elemento. OCR puede identificar erróneamente caracteres pequeños estilo icono, como flechas cheurón hacia atrás (<), viñetas, símbolos decorativos, como texto. Cuando eso sucede, la regla de Contraste de Color se ejecuta en un elemento que no contiene texto legible, lo que puede producir un resultado para un botón solo con íconos. Dado que la salida del OCR no es determinista entre escaneos, el mismo elemento puede aparecer en los resultados de Contraste de Color en un escaneo y ser reportado como "NO APLICABLE" en el siguiente. Esta es una característica conocida del OCR, no un error en la regla.

Para solucionar este problema, puedes usar las ignore API para suprimir los resultados de Contraste de Color para los elementos afectados.



// Ignore Color Contrast for a specific element by accessibility identifier
axeDevTools?.configuration.ignore(rulesFor: [
    "backButton": [AxeRuleId.ColorContrast.toString()]
])

// Or ignore Color Contrast globally
axeDevTools?.configuration.ignore(rule: AxeRuleId.ColorContrast.toString())

Aprende más sobre ignorar reglas.

Falsos positivos de Título de Pantalla en aplicaciones Flutter

Flutter no asigna AppBar.title a la propiedad de título de pantalla nativa - UIViewController.title, causando que la regla de Título de Pantalla falle en todas las pantallas de Flutter, independientemente de si hay un título descriptivo presente.

Esta es una limitación conocida de la plataforma Flutter, registrada en flutter/flutter#185894.

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 menores, la regla de Contraste de Color puede reportar falsos positivos en fondos degradados. En tales casos, podría no ser capaz de determinar el color del primer plano y, en su lugar, comparar colores de fondo entre sí, resultando en un fallo.

Para solucionar este problema, intenta realizar las verificaciones de accesibilidad en dispositivos más grandes. Alternativamente, puedes optar por ignorar la regla en tus pruebas y verificar manualmente el Contraste de Color para esos elementos.

Inexacto isVisible propiedad de XCTest

Las API de accesibilidad de Apple pueden informar 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 la interfaz de usuario nativa). Esto ocurre porque el sistema de accesibilidad verifica si el contenedor de WKWebView en sí es visible, en lugar de verificar si su contenido web está realmente despejado y es perceptible para el usuario.

Error de accesibilidad de iOS 26 con los incrementadores

iOS 26 contiene un error de accesibilidad donde los botones predeterminados de incrementadores no anuncian "atenuado" por la tecnología asistiva para indicar que no están habilitados. Como resultado, las reglas de iOS también perciben 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 incrementadores deshabilitados: AssociatedText, InaccessibleAction, y ColorContrast.

Hasta que Apple solucione este error, la resolución será [ignorar las reglas](ios-ignore-rule). Los botones predeterminados de incrementadores tienen los identificadores "Decremento" e "Incremento", 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 una incorrecta associatedText propiedad encontrada (#1622)

Reglas contra controles anidados

Al buscar 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 revisión de resultados para aplicaciones UIKit

En aplicaciones UIKit, una imagen sin una `accessibilityLabel` no es accesible con tecnología asistiva por defecto.
Las propiedades que utilizamos para verificar la accesibilidad desde Apple pueden ser inexactas cuando se establece un `accessibilityIdentifier` en la imagen. Debido a este comportamiento inesperado, los resultados para los problemas de Nombre de ImageView en aplicaciones 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 & Active Control Name

Estamos trabajando activamente en soluciones para los siguientes falsos positivos y actualizaremos esta lista a medida que se implementen soluciones.

In Scroll View
El texto dentro de elementos que se comportan como banners, encabezados/pies de página fijos, botones de acción flotantes y vistas de pestañas personalizadas puede ser señalado con un mensaje de "Necesita Revisión" o "Fallo". Para hacer estos elementos accesibles a aquellos que requieren texto más grande, usa UILargeContentViewer. (#622, #2077)

v2.11.0 Image View Name & Active Control Name
Si un UIImageView tiene una accessibilityIdentifier establecida pero no es accesible por VoiceOver, y tiene controles accesibles anidados en su interior, Active Control Name puede reportar un falso positivo en el UIImageView. Eliminar el accessibilityIdentifier 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 incorrecto de los alrededores puede ser detectado causando que estas reglas fallen. (#1622)

Android

Falsos positivos de Label at Front con texto visible oculto

La regla de Label at Front verifica que la etiqueta visible de un elemento se encuentre al principio de su texto anunciado. Un fallo en la regla puede resultar cuando el texto visible de un elemento interactivo contiene una abreviatura (por ejemplo, "GB", "km") o un identificador oculto/truncado, y el anuncio de accesibilidad consiste en las palabras representadas (por ejemplo, "gigabytes", "kilómetros"), aunque este sea el patrón recomendado para hacer el contenido abreviado o truncado más accesible para los lectores de pantalla.

Si la primera parte de la etiqueta visible de un elemento interactivo coincide con el comienzo del anuncio del lector de pantalla y solo la parte abreviada u oculta difiere, el resultado señalado puede ser ignorado con seguridad. Verifica con un lector de pantalla que el anuncio completo se lea como se esperaba.

Posibles problemas de accesibilidad para Texto Enfocable

Al usar texto decorativo en vistas como "Iconos de Contacto", es posible introducir un problema de accesibilidad. Si utilizas una vista de texto para mostrar letras en lugar de generar imágenes con las letras deseadas como vectores, y luego declaras que esa vista de texto no es importante para la accesibilidad, no seremos capaces de determinar con fiabilidad si has introducido una violación de accesibilidad.

Si editas texto enfocador para ignorar dos o menos caracteres, puedes inadvertidamente ignorar muchos botones de una sola palabra en varios idiomas (por ejemplo, "OK", "No", "Sí"). Para evitar estos problemas, debes tomar las letras deseadas de la palabra que deseas representar en el icono y generar las letras como parte de la imagen en lugar de como vistas de texto separadas. `FocusableText` entonces no se ejecutará en esas vistas.

Falsos positivos de Título de Pantalla en aplicaciones Flutter

Flutter no asigna AppBar.title a la propiedad de título de pantalla nativa - Activity.setTitle, causando que la regla de Título de Pantalla falle en todas las pantallas de Flutter, independientemente de si hay un título descriptivo presente.

Esta es una limitación conocida de la plataforma Flutter, registrada en flutter/flutter#185894.

Falso positivo en la 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 AccessibilityEventse activan por acciones del usuario, no podemos acceder a la descripción correcta si esta información no se proporciona.

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 luego nuestra herramienta puede detectar.

La regla de Contraste de Color no se ejecuta cuando los colores del texto y el fondo son iguales

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 tu aplicación. En los casos en que el texto contenido en una vista sea 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 esa vista.

EditTextName en Android 7 (SDK 24-25)

Las aplicaciones escritas con XML que utilizan la función de texto de sugerencia pueden experimentar falsos positivos con la EditTextName regla. El texto de sugerencia 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 esta experiencia 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, puede considerar evitar el uso de la hintText característica, ya que no se soporta oficialmente.

Vistas ocultas de Android devolviendo 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 de asistencia, pero Axe DevTools Mobile todavía las informa 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 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 de ML Kit debería importarse automáticamente al referenciar 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 al ejecutar la detección de texto de mlKit: MlKitContext no ha sido inicializado.

Para resolver este problema, debe importar la biblioteca de ML Kit en su proyecto manualmente. En el build.gradle de su aplicación, agregue lo siguiente en las dependencias:

debugImplementation 'com.google.mlkit:text-recognition:16.0.1'

Encuentre un ejemplo completo de la biblioteca ML Kit importada en la sección Android Mobile SDK Getting Started, bajo Implementación

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, pronto habrá 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 muestra 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
//    }
}

Tenga en cuenta que este código solo debe comentarse para la 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 en cuanto a accesibilidad, asegúrese de que esté completamente en pantalla antes de realizar el escaneo.

Analizador de Aplicaciones: El botón de acción flotante desaparece

Introducida con la API 31 (Android 12) está 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 dejarla desactivada para compilaciones de prueba internas donde pueda utilizar datos de prueba de manera 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 Axe Accessibility Analyzer, actualice cualquier llamado al método setHideOverlayWindows(true) a setHideOverlayWindows(false) en las ventanas de actividad afectadas.

Captura de pantalla faltante (cuadro negro) en el tablero

Para desbloquear la funcionalidad completa de Axe DevTools para Mobile, 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 preocupaciones de seguridad. Consulte nuestra guía para habilitar capturas de pantalla en aplicaciones de Android.

Error cuando minifiedEnabled está establecido en verdadero

Si minimiza su compilación, verá un error con un registro de error que informa que no se pudo encontrar un adaptador al intentar iniciar sesión en la biblioteca de Axe DevTools. Desactive minify para sus compilaciones de depuración con Axe DevTools implementado. (#729)

Las compilaciones con r8 habilitado arrojan 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)

Para solucionar este error, agregue la siguiente línea a su archivo ProGuard para mantener las clases de axeDevTools:

keep class com.deque.** { *; }
Mensajes de error al usar las APIs de Compose

Las APIs de Compose están obsoletas, por favor use las APIs agnósticas de diseño para seguir recibiendo actualizaciones. Si continúa usando las APIs de Compose y encuentra 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 consulte API de setTestTag de Compose.

MAUI: Regla del nombre de Edit Text

Debido a limitaciones de la arquitectura de aplicaciones MAUI al renderizar en el ecosistema de Android, la regla del nombre de Edit Text aparecerá como Necesita Revisión en el tablero cuando se sospeche un fallo para la versión SDK 5.5.0 en adelante. Por favor, confirme el comportamiento correcto manualmente para este caso.

Android nativo: Diálogos/Modales personalizados

Cuando está implementando 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 que se comporten con la tecnología de asistencia como se desea.

Panel de control web

Captura de pantalla faltante

Si falta la captura de pantalla 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. Considera eliminar este requisito para la versión de prueba a fin de permitir la funcionalidad completa en el Panel de Control de Axe DevTools Mobile.

Algunos nombres de escaneo de Android no están formateados

Algunos nombres de escaneo de Android que se definen por defecto como el título de la pantalla aparecerán como el nombre completo de la clase incluyendo el identificador de paquete. En una futura 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 establecer el nombre del escaneo desde el panel de control o los frameworks. (#1643)