Notas de la versión de Axe DevTools Mobile del 17 de junio de 2026
17 de junio de 2026
Versiones de los componentes
iOS
- Aplicación de Escritorio del Analizador de iOS (axe-devtools-mobile-desktop-app v1.3.0)
Cómo actualizar: Analizador de iOS
¿Qué hay de nuevo?
La configuración guiada de Axe DevTools Mobile Analyzer detecta problemas antes de que realices un escaneo. Al iniciarse, la aplicación verifica que estés listo para probar y te solicita agregar lo que falta. Si no hay un ID de Apple iniciado, o si Xcode no está correctamente instalado, no tiene licencia o no tiene una cuenta de desarrollador configurada, la aplicación proporciona explicaciones claras y te permite resolver cualquier problema antes de continuar.
Selecciona tu equipo de desarrolladores de Apple desde la aplicación para firmar automáticamente el proyecto de Xcode, sin necesidad de abrir Xcode. Cuando tu equipo está guardado, la aplicación maneja la firma automáticamente cada vez que realizas un escaneo.
Al realizar pruebas en un dispositivo físico que no tiene el Modo Desarrollador habilitado, la aplicación te guía en el proceso de activación, luego continúa automáticamente una vez habilitado.
Al conectarse a un servidor backend personalizado, las URL ahora se validan de antemano.
Correcciones
- Se corrigió un problema en el que los dispositivos iOS físicos conectados por USB a veces no se detectaban. La aplicación ahora establece automáticamente el túnel de conexión, por lo que ya no necesitas abrir Xcode antes de conectar un dispositivo.
- Se mejoró la fiabilidad de las solicitudes de red al volver a intentar automáticamente las conexiones fallidas.
Problemas conocidos
Si experimentas alguno de los problemas a continuación, por favor contáctanos en helpdesk@deque.com o support.deque.com. De este modo, podremos notificarte una vez que se resuelva o de una solución alternativa identificada si no se indica ninguna.
- Las pruebas automatizadas de Axe DevTools Mobile se ejecutan en aplicaciones nativas de iOS, Android y React Native. Por favor, contacta a tu representante de Deque para obtener soluciones de pruebas de accesibilidad en tu stack tecnológico.
- Si bien puedes obtener algunos resultados de vistas web o PDF renderizados, 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
El 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. El OCR puede ocasionalmente identificar incorrectamente glifos pequeños similares a íconos, como cheurones de flechas 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 evitar 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())
Obtén más información sobre cómo ignorar reglas.
Falso positivo del título de pantalla en aplicaciones Flutter
Flutter no asigna AppBar.title a la propiedad de título de pantalla nativa - UIViewController.title, haciendo que la regla de título de pantalla falle en todas las pantallas de Flutter sin importar si hay un título descriptivo presente.
Esta es una limitación conocida de la plataforma Flutter rastreada en flutter/flutter#185894.
Falsos positivos para la regla de Contraste de Color con fondos de gradientes en pantallas pequeñas
Al ejecutar controles 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 de gradiente. En tales casos, puede ser incapaz de determinar el color de primer plano y en su lugar comparar colores de fondo entre sí, lo que resulta en un fallo.
Para evitar 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.
Propiedad isVisible inexacta de XCTest
Las API de accesibilidad de Apple pueden reportar incorrectamente 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 comprueba si el contenedor de WKWebView en sí es visible, en lugar de si su contenido web está realmente despejado y es perceptible para el usuario.
Error de accesibilidad de iOS 26 con controles incrementales
iOS 26 contiene un error de accesibilidad donde los botones incrementales predeterminados no anuncian "atenuado" por Tecnología de Asistencia para indicar que no están habilitados. Como resultado, las reglas de iOS también consideran estos botones como habilitados incluso cuando no lo están. Se ha presentado un informe de error a Apple, pero hasta que se resuelva, las siguientes reglas pueden reportar resultados en botones incrementales desactivados: AssociatedText, InaccessibleAction, y ColorContrast.
Hasta que Apple solucione este error, la solución será [ignorar las reglas](ios-ignore-rule). Los botones de paso predeterminados 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 incorrecta de associatedText (#1622)
La regla Supports Dynamic Type no funciona con el simulador iOS 15 Pro
Existe un problema que afecta al simulador del iPhone 15 Pro que impide que la regla Supports Dynamic Type se ejecute. Si está inscrito en la regla Supports Dynamic Type, no podrá probarla usando un simulador de iPhone 15 Pro. Se ha presentado un reporte de error a Apple.
Reglas contra controles anidados
Mientras buscá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 reporte de error a Apple. (#1110)
La regla del nombre de ImageView necesita revisión de resultados para aplicaciones UIKit
En las aplicaciones UIKit, una imagen sin una `accessibilityLabel` no es focalizable por la tecnología de asistencia de manera predeterminada.
Las propiedades que utilizamos para comprobar la capacidad de enfoque de Apple pueden ser inexactas cuando un `accessibilityIdentifier` está establecido 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 reporte 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 soluciones para los siguientes falsos positivos y actualizaremos esta lista a medida que se publiquen las correcciones.
In Scroll View
El texto dentro de elementos que actúan como banners puede ser marcado con un mensaje de "Necesita Revisión". Para hacer estos elementos disponibles a aquellos que requieren texto más grande, use UILargeContentViewer. (#622)
v2.11.0 Image View Name & Active Control Name
Si una UIImageView tiene un `accessibilityIdentifier` establecido pero no es focalizable por VoiceOver, y tiene controles focalizables anidados dentro de ella, ActiveControlName puede reportar un falso positivo en la UIImageView. Eliminar el `accessibilityIdentifier` resuelve el problema. Se ha presentado un reporte de error a Apple. (#1633)
Label In Name and Label At Front
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 vistas, se puede detectar texto cercano incorrecto causando que estas reglas fallen. (#1622)
Android
Posibles preocupaciones de accesibilidad para texto focalizable
Al usar texto decorativo en vistas, como "Iconos de Contacto", es posible introducir un problema de accesibilidad. Si está utilizando una vista de texto para mostrar letras en lugar de generar imágenes con las letras deseadas como vectores, y luego declara que esa vista de texto no es importante para la accesibilidad, no podremos informar de manera confiable si introdujo una violación de accesibilidad.
Si edita texto focalizable para ignorar dos o menos caracteres, puede inadvertidamente ignorar muchos botones de una sola palabra en varios idiomas (por ejemplo, „OK“, „No“, „Sí“). Para evitar estos problemas, debe tomar las letras deseadas de la palabra que desea representar en el ícono y generarlas como parte de la imagen en lugar de como vistas de texto separadas. `FocusableText` no se ejecutará entonces 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, haciendo que la regla de título de pantalla falle en todas las pantallas de Flutter sin importar si hay un título descriptivo presente.
Esta es una limitación conocida de la plataforma Flutter rastreada en flutter/flutter#185894.
Falso positivo de detección de texto anunciado
En algunos casos, la tecnología de asistencia confía en AccessibilityEvent descripciones del sistema Android para anunciar información al usuario cuando no hay otro anuncio disponible. Dado que AccessibilityEventson activados 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á a Talkback acceder 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 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 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 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 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, podría considerar evitar el uso de la hintText función, ya que no es oficialmente compatible.
Vistas ocultas de 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 aún las informa 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 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 ML Kit debe 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 while running mlKit Text Detection: MlKitContext has not been initialized.
Para superar este problema, debe importar manualmente la biblioteca ML Kit en su proyecto. 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 táctil y Jetpack Compose
La regla de Espaciado del Objetivo Táctil actualmente no se está ejecutando en ningún componente deslizable que esté escrito en Jetpack Compose. No se puede tomar ninguna medida en este momento. ¡Sin embargo, pronto habrá una solución!
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 se puede suprimir 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 guardar 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 obtengamos resultados inesperados cuando los ítems 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 análisis.
Aplicación de análisis: el botón de acción flotante desaparece
Introducido con API 31 (Android 12) está la capacidad de ocultar superposiciones no sistemáticas. Para utilizar la aplicación de análisis axe, 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 se pueden usar datos de prueba de manera segura y eliminar así 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 llamado al método setHideOverlayWindows(true) a setHideOverlayWindows(false) en las ventanas de actividad afectadas.
Pantalla faltante (Caja negra) en el panel de control
Para desbloquear toda la funcionalidad 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 utilice datos simulados para evitar preocupaciones de seguridad. Consulte nuestra guía para habilitar capturas de pantalla en aplicaciones Android.
Fallo cuando minifiedEnabled está configurado en verdadero
Si está minimizando su compilación, verá un fallo con un registro de error indicando que no se pudo encontrar un adaptador al intentar iniciar sesión en la biblioteca de herramientas de desarrollo de axe. Desactive minify para sus compilaciones de depuración con las herramientas de desarrollo de axe implementadas. (#729)
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 APIs de Compose
Las APIs de Compose están en desuso, por favor utilice 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 `Se esperaba exactamente '1' nodo pero se encontraron '2' nodos que satisfacen: (esRaíz)` o `No se ha inicializado la vista, ¿llamó a AxeDevToolsCompose.setComposeTestRule()?`, por favor consulte API setTestTag de Compose.
MAUI: Regla de nombre de texto editable
Debido a las limitaciones de la arquitectura de aplicaciones MAUI en el ecosistema Android, la regla de nombre de texto editable se mostrará como Necesita Revisión en el panel cuando se sospeche de una falla para la versión SDK 5.5.0 y superiores. Por favor, confirme el comportamiento correcto manualmente para este caso.
Android nativo: Diálogos/Modalidades personalizadas
Cuando esté implementando diálogos o modalidades personalizadas que no extienden los controles nativos, es posible que obtenga resultados para vistas detrás de la modalidad. En este caso, recomendamos no ejecutar nuestra herramienta contra estas modalidades o diálogos personalizados y, en su lugar, verificarlos manualmente para asegurar que se comporten con 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 de análisis, es posible que su aplicación esté 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 compilación de prueba para permitir la funcionalidad completa en el Panel de control móvil de axe DevTools.
Algunos nombres de análisis de Android no están formateados
Algunos nombres de análisis de Android que están predeterminados al título de la pantalla aparecerán como el nombre completo de la clase, incluido el identificador del 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, puede establecer el nombre de análisis desde el panel de control o los marcos. (#1643)
