Notas de Lanzamiento de Axe DevTools Mobile del 2 de julio 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

2 de julio de 2026

Not for use with personal data

Versiones de Componentes

Appium

iOS

  • Controlador iOS Appium 2 (axe-appium2-xcuitest-driver v2.5.0)
    • (Derivado de XCUITest v9.10.4)
  • Controlador iOS Appium 3 (axe-appium3-xcuitest-driver v1.4.0)
    • (Derivado de XCUITest v11.10.0)

Cómo actualizar: Controlador iOS Appium

Android

  • Controlador Android Appium 2 (axe-appium2-uiautomator2-driver v2.5.0)
    • (Derivado de UiAutomator2 v4.2.8)
  • Controlador Android Appium 3 (axe-appium3-uiautomator2-driver v1.4.0)
    • (Derivado de UiAutomator2 v7.6.1)

Cómo actualizar: Controlador Android Appium

¿Qué hay de nuevo?

Informes HTML Agregados

Agregar mobile: generateHtmlReportAndSummary una vez por prueba producirá un informe HTML autónomo para escaneos específicos y lo retirará del dispositivo a un directorio local - axeHtmlReportPath. Encuentra detalles de implementación aquí: Generar un Informe HTML y Resumen.

Deprecaciones y Eliminaciones

La propiedad de configuración axeServerUrl para Escaneo Automático ha sido deprecada, así como la axeServiceUrl para Pruebas Específicas. axeAccountURL ha sido configurado para reemplazar ambas propiedades.

Problemas Conocidos

Si estás experimentando alguno de los siguientes problemas, por favor contáctanos en helpdesk@deque.com o support.deque.com. Entonces podremos notificarte una vez que se resuelva o de una solución alternativa identificada si no se lista ninguna.

important
  • Las pruebas automatizadas de Axe DevTools Mobile se ejecutan en aplicaciones nativas de iOS, Android nativo y React Native. Por favor, contacta a tu representante de Deque para obtener soluciones de pruebas de accesibilidad en tu tecnología.
  • Aunque puedes obtener algunos resultados de vistas web o archivos PDF renderizados, recomendamos encarecidamente realizar pruebas con axe DevTools para Web o axe Monitor para las pruebas de accesibilidad más completas para la web.

iOS

El contraste de color puede ejecutarse en elementos solo de iconos debido a 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 ocasionalmente puede identificar de manera incorrecta pequeños glifos similares a iconos, como chevrones de flecha hacia atrás (<), viñetas, símbolos decorativos, como texto. Cuando eso ocurre, 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 de solo icono. Debido a que los resultados de OCR no son deterministas en los 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 de 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()]
])

// O ignora el Contraste de Color globalmente axeDevTools?.configuration.ignore(rule: AxeRuleId.ColorContrast.toString())

Aprende más sobre ignorar reglas.

Falso positivo de Título de Pantalla en aplicaciones Flutter

Flutter no mapea 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 seguida en flutter/flutter#185894.

Falsos positivos de 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 de primer plano y, en su lugar, comparar los colores de fondo entre sí, lo que resulta en un fallo.

Para solucionar este problema, intenta ejecutar 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 estas vistas.

Inexactitud del isVisible propiedad 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 nativa). Esto ocurre porque el sistema de accesibilidad verifica si el contenedor de WKWebView es visible, en lugar de si su contenido web está realmente despejado y perceptible para el usuario.

Error de accesibilidad en iOS 26 con stepper

iOS 26 contiene un error de accesibilidad donde los botones predeterminados del stepper no anuncian „atenuado“ por 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 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 „Decrement“ e „Increment“, 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 associatedText incorrecta (#1622)

La regla de Soporte para Tipo Dinámico no funciona con el simulador de iOS 15 Pro

Existe un problema que afecta al simulador de iPhone 15 Pro que impide que la regla de Soporte para Tipo Dinámico se ejecute. Si estás inscrito en la regla de Soporte para Tipo Dinámico, no podrás probarla usando un simulador de iPhone 15 Pro. Se ha presentado un informe de error a Apple.

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)

La Regla de Nombre de Imagen necesita revisar los resultados en aplicaciones UIKit

En aplicaciones UIKit, una imagen sin un `accessibilityLabel` no es enfocada por la tecnología de asistencia por defecto.
Las propiedades que usamos para verificar la enfocabilidad de 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 Imagen 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, Etiqueta En Nombre, Etiqueta al Frente, y v2.11.0 Nombre de Imagen y Nombre de Control Activo

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

In Scroll View
El texto dentro de elementos que se comportan como banners puede ser marcado con un mensaje de „Necesita Revisión“. Para hacer estos elementos disponibles para aquellos que requieren texto más grande, usa UILargeContentViewer. (#622)

v2.11.0 Image View Name & Active Control Name
Si una UIImageView tiene un `accessibilityIdentifier` configurado pero no es enfocable por VoiceOver, y tiene controles enfocables anidados dentro de ella, ActiveControlName puede reportar un falso positivo en la 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 una etiqueta visible de control entre los elementos cercanos para ayudar a determinar el estado de la regla. En algunas jerarquías de vista, se puede detectar el texto cercano incorrecto causando que estas reglas fallen. (#1622)

Android

Posibles preocupaciones de accesibilidad para Texto Enfocable

Al usar texto decorativo en vistas como „Íconos de Contacto“, es posible introducir un problema de accesibilidad. Si estás usando 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 podremos determinar de manera confiable si has introducido una violación de accesibilidad.

Si editas texto enfocable para ignorar dos o menos caracteres, puedes inadvertidamente ignorar muchos botones de una sola palabra en varios idiomas (p.ej., „OK“, „No“, „Sí“). Para evitar estos problemas, debes tomar las letras deseadas de la palabra que deseas representar en el ícono 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.

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

Para evitar este problema, asegúrate de que todas las vistas relevantes estén marcadas como importantes para la accesibilidad. Esto permitirá que Talkback acceda a la información de la vista, que nuestra herramienta luego puede detectar.

La regla de Contraste de Color no se ejecuta cuando los colores de texto y 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 su aplicación. En 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 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 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 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, 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 están disponibles para la tecnología asistiva, pero axe DevTools Mobile aún 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 corrección para asegurar 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. En algunos casos, sin embargo, 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 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 del Objetivo de Toque y Jetpack Compose

La regla de Espaciado del Objetivo de Toque actualmente no se está ejecutando en los componentes de control deslizante que fueron escritos en Jetpack Compose. No se puede tomar ninguna acción en este momento. ¡Sin embargo, una solución está por llegar pronto!

Error al guardar resultados localmente en API 30

En Android API 30, uno de los lugares en los que intentamos guardar resultados localmente tiene un error de permisos. El resultado aún se guardará como un archivo JSON a pesar de que este error se muestre. 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 // } }
Tenga en cuenta que este código solo debería 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 items en una vista de desplazamiento están parcialmente fuera de la pantalla. Para probar un elemento para accesibilidad, asegúrese de que esté completamente en pantalla antes de realizar el escaneo.

Analizador de Aplicaciones: Botón de Acción Flotante Desaparece

Introducida con API 31 (Android 12) está la capacidad de ocultar superposiciones no del sistema. Para utilizar la aplicación axe Analizador, asegúrese de que esta configuración no esté activada. Si ha optado por utilizar esta función por sus mejoras de seguridad, le recomendamos dejarla desactivada para las compilaciones internas de prueba donde puede utilizar datos de prueba de forma 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 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ó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 preocupaciones de seguridad. Consulte nuestra guía para habilitar capturas de pantalla en aplicaciones Android.

Error al minifiedEnabled está establecido en verdadero

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 axe DevTools. Desactive la minimización para sus compilaciones de depuración con axe DevTools implementado. (#729)

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)
    
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 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 utilizando las APIs de Compose y encuentra un error similar a `Se esperaban exactamente '1' nodo pero se encontraron '2' nodos que satisfacen: (isRoot)` o `No se ha inicializado ninguna Vista, ¿ha llamado a AxeDevToolsCompose.setComposeTestRule()?`, por favor consulte API de setTestTag de Compose.

MAUI: Regla de Nombre de Texto Editar

Debido a las limitaciones de la arquitectura de la aplicación MAUI al renderizarse en el ecosistema Android, la regla de Nombre de Texto Editar aparecerá como Necesita Revisión en el tablero cuando se sospeche de un fallo para la versión SDK 5.5.0 y superiores. Por favor confirme el comportamiento correcto manualmente para este caso.

Android Nativo: Diálogos Personalizados / Modales

Cuando implemente diálogos personalizados o modales 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 revisarlos manualmente para asegurar que se comporten con tecnología asistiva como se desea.

Tablero Web

Captura de Pantalla Faltante

Si la captura de pantalla falta en la página de detalles del escaneo, su aplicación puede estar impidiendo que se tomen capturas de pantalla. A menudo, esto es por razones de seguridad en su aplicación de producción. Considere eliminar este requisito para su construcció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 se configuran por defecto como el título de la pantalla aparecerán como el nombre completo de la clase, incluido el identificador del paquete. En una próxima versión, se resolverá esto para que el título de la pantalla se formatee en un nombre más legible. Como solución temporal, puedes establecer el nombre de escaneo desde el panel de control o los frameworks. (#1643)