Notas de la versión de axe DevTools Mobile del 16 de agosto de 2023

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

16 de agosto de 2023

Not for use with personal data

Versiones de componentes

  • axeDevToolsXCUI v2.6.0
  • axe-devtools-android v4.0.0

¿Qué hay de nuevo?

Presentamos el analizador móvil de axe DevTools Mobile

Utilice el nuevo axe DevTools Mobile Analyzer para probar aplicaciones iOS o Android creadas con cualquier tecnología sin acceso al código fuente. Pruebe aplicaciones nativas y multiplataforma, como SwiftUI y UIKit en iOS, Jetpack Compose y XML en Android, React Native, Flutter, Xamarin e Ionic. axe DevTools Mobile Analyzer reemplaza el botón de acción flotante incorporado para pruebas de accesibilidad iniciadas por el usuario (manuales). Para realizar el cambio, elimine el código integrado del Floating Action Button de su aplicación y siga la documentación para comenzar a utilizar el nuevo analizador móvil de axe DevTools.

iOS

  • Las vistas creadas con SwiftUI y aplicaciones multiplataforma ahora se pueden probar mediante pruebas iniciadas por el usuario (manuales) utilizando el nuevo axe DevTools Mobile Analyzer para iOS.
  • La regla Soporta Tipo Dinámico ahora está disponible en el marco de trabajo XCUI. Esta regla redimensiona el texto varias veces y vuelve a evaluar la pantalla después de cada cambio de tamaño para buscar problemas; este proceso demora unos segundos en ejecutarse. Por este motivo, hemos publicado esta opción como opción de inclusión voluntaria. Para participar, establezca optInToSDT como verdadero desde la API de configuración de Axe. axeDevTools.configuration.optInToSDT = true.
  • La versión mínima de iOS compatible ahora es iOS 14 (anteriormente iOS 13).

Android

  • Las aplicaciones multiplataforma ahora se pueden probar a través de pruebas iniciadas por el usuario (manuales) utilizando el nuevo axe DevTools Mobile Analyzer for Android.
  • Las aplicaciones que usan vistas de Jetpack Compose ahora ejecutarán el conjunto de reglas completo a través de pruebas iniciadas por el usuario (manuales) o automatizadas. (Anteriormente, las aplicaciones de Android que usaban Jetpack Compose tenían un conjunto de reglas más pequeño).
  • Ahora admitimos el marco de pruebas UI Automator para pruebas automatizadas.
  • El SDK de Android actualizado permite el escaneo de accesibilidad automatizado a través de Espresso y UI Automator utilizando el Registro de Instrumentación, que no requiere que usted especifique ninguna vista o actividad.
  • Cambio importante: La clase DashboardService ha sido reemplazada por la clase ResultsDashboard .

Panel de control

  • Se mejoró el tiempo de carga para el recuento de problemas y el resumen desde la pantalla principal del Panel de control.
  • Se mejoró la apariencia de la jerarquía de vistas cuando se visualiza en el navegador Safari.

Correcciones de bugs

axe DevTools Mobile para iOS

  • Regla de contraste de color: ya no ejecutaremos reglas de contraste de color en botones deshabilitados porque las reglas de contraste de color no son aplicables a elementos deshabilitados.
  • Regla de controles en colisión: cualquier control que no esté marcado como enfocable por accesibilidad o que no sea un elemento de accesibilidad ya no se considerará al analizar los controles en colisión.
  • Resultados guardados localmente: el nombre del escaneo ahora se agrega correctamente al archivo JSON cuando se guarda localmente o se descarga desde el Dashboard. Esto corrige el título "escaneo sin nombre" que se mostraba anteriormente en los informes HTML generados desde la CLI de Reporter.

Panel de control de axe DevTools Mobile

  • Correcciones de accesibilidad: se agregó el rol ARIA faltante="botón", se mejoró el encabezado modal del anuncio, se eliminó la información sobre herramientas en la jerarquía de la vista y se agregaron mejores anuncios del lector de pantalla para la paginación.
  • Se corrigió el nombre del escaneo en la captura de pantalla que anteriormente se superponía al botón "Inspeccionar".
  • Se solucionó un problema en el que los usuarios de la prueba gratuita veían un indicador de carga infinito.

Actualizaciones

Este lanzamiento marca la última de nuestras actualizaciones al framework UIKit para pruebas automatizadas en aplicaciones iOS. Continuaremos ofreciendo este marco en el futuro cercano, pero ya no realizaremos correcciones de errores ni actualizaciones. Le recomendamos cambiar al marco XCUI, que se actualizará con nuevas reglas y mejoras en el futuro. Si actualmente está utilizando el marco UIKit para pruebas automatizadas de unidades o de interfaz de usuario y desea recibir ayuda para realizar la transición al marco XCUI, háganoslo saber. Envíe una solicitud a support.deque.com, o envíe un correo electrónico a helpdesk@deque.com.

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.
  • Para ayudarlo a obtener resultados precisos y consejos de corrección aplicables, las reglas de axe DevTools Mobile no se aplican en vistas web ni en archivos PDF renderizados. Para probar el contenido HTML, utilice axe DevTools para Web. axe Monitor admite el escaneo de archivos PDF para accesibilidad.

axe DevTools Mobile para iOS

axeDevToolsUIKit.xcframework

Las vistas creadas con SwiftUI no se pueden probar utilizando este marco para pruebas automatizadas.

Utilice el marco axeDevToolsXCUI en UITesting para las vistas de SwiftUI.

La compatibilidad con reglas personalizadas solo está disponible en Swift

La API de reglas personalizadas no está abierta a Objective-C.

Falsos positivos: InScrollView, SupportsDynamicType, Vistas superpuestas

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

InScrollView
InScrollView puede informar problemas con el 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.

SupportsDynamicType
Es posible que vea falsos positivos en los siguientes escenarios:

  • Si se utiliza la notificación UIContentSizeCategoryDidChange , el marco puede informar incorrectamente que el texto no responde a Dynamic Type en UITests.
  • Si se utiliza NotificationCenter.default.addObserver(forName:.., object:.., queue:.., using:..) para responder a la UIContentSizeCategoryDidChange notificación.
  • Si se usa traitCollectionDidChange en la vista principal de un texto o en el controlador de vista para responder al tipo dinámico.
Vistas en conflicto
Cuando una subvista desplazable contiene texto y esa subvista no se extiende hasta el borde de los límites de la pantalla, verá fallas para el texto ubicado dentro de los límites de la vista.

axeDevToolsXCUI.xcframework

Selector SwiftUI y Selector UIKit

Las vistas de selector en SwiftUI y UIKit pueden provocar que el marco se bloquee en simuladores o dispositivos. (#636)

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)

Falso positivo: en la vista de desplazamiento, 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) Nombre de 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. (#1178)

Falso negativo: Image View Name, texto enfocable en iOS 13 a través de iOS 14.8.1

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

Nombre de la vista de la imagen
Si un UIImageView tiene un `accessibilityIdentifier` establecido pero VoiceOver no puede enfocarlo, ImageViewName puede informar un falso negativo en UIImageView. Quitar el `accessibilityIdentifier` resuelve el problema. (#1188) Texto enfocable
Los elementos marcados como elementos no accesibles pueden arrojar resultados incorrectos debido a un error en el marco de Apple.

axe DevTools Mobile para Android

Fallo al usar Proguard

Si su compilación de depuración o prueba utiliza Proguard, siga los pasos para excluir Deque en su configuración de Proguard.

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)

Errores al compilar con el proyecto Java8 y axe DevTools Android 3.1.0

Pruebe las siguientes importaciones:

implementation 'androidx.core:core-ktx:1.9.0'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4'
	
Después de importar la biblioteca anterior, si ve errores relacionados con la versión minSDK para la biblioteca core-ktx, intente lo siguiente en su Android Manifest:
<uses-sdk tools:overrideLibrary="androidx.core" />

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)

Si encuentra un error como el siguiente `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)`, comuníquese con nosotros a helpdesk@deque.com o support.deque.com para obtener ayuda. En determinadas condiciones, es posible que existan dos nodos raíz de Compose al mismo tiempo.

Panel de control 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)