Notas de Lanzamiento de Axe DevTools Mobile - 21 de enero de 2025
21 de enero de 2025
¿Qué hay de nuevo?
Puntuación de Accesibilidad
Hemos cambiado el algoritmo de puntuación de accesibilidad para Axe DevTools Mobile para alinearlo con nuestro producto web. El panel tiene un nuevo aspecto, ya no presenta un gráfico, recuento total de problemas o puntuación de accesibilidad. Esa puntuación antes se enfocaba en cada problema y su respectiva gravedad. Ahora, los usuarios pueden obtener una puntuación para cada escaneo. El problema más grave en esa pantalla determina la puntuación. La función de escaneo grupal ahora incluye una puntuación de accesibilidad calculada a partir del promedio de las puntuaciones de cada uno de los escaneos incluidos en ese grupo. Todavía puede hacer clic en escaneos individuales para luego ver todos los problemas encontrados en cada escaneo.
Correcciones
- Múltiples mejoras para la accesibilidad en el Panel de Control de Axe DevTools Mobile
- Se corrigió un problema con el escaneo incorrecto que se mostraba en la función de escaneos grupales
Problemas Conocidos
Si está experimentando alguno de los problemas a continuación, contáctenos en helpdesk@deque.com o support.deque.com. Entonces podremos notificarle una vez que se haya resuelto o de una solución alternativa identificada si no se lista alguna.
- 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 stack tecnológico.
- Aunque puede obtener algunos resultados de vistas web o PDFs renderizados, recomendamos encarecidamente realizar pruebas usando Axe DevTools for Web o Axe Monitor para obtener las pruebas de accesibilidad más completas para la web.
iOS
Error en Proyecto del Analizador y Pruebas por ID del Paquete en la versión 2.8.1
La funcionalidad con la prueba de una aplicación por identificador de paquete se rompió en la versión 2.8.1, lo que resultó en un error titulado "No se especificó la ruta de la aplicación objetivo mediante la configuración de la prueba: ...". Actualice a la versión 2.8.2 o la última versión para resolver el error. Actualice a la última dentro del proyecto del Analizador de iOS.
Error "No se pudo Serializar AxeResult" en el Proyecto del Analizador v1.2.0 y SDK v2.12.3
Escanear algunas aplicaciones con esta versión del analizador y SDK resultaría en un error de "No se pudo Serializar 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 reportar falsos positivos con LabelInName y LabelAtFront debido a que se encontró incorrectamente una propiedad associatedText (#1622)
La regla Soporta Tipo Dinámico 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 Soporta Tipo Dinámico. Si está inscrito en la regla Soporta Tipo Dinámico, no podrá probarla usando un simulador de iPhone 15 Pro. Se ha presentado un error a Apple.
Reglas contra Controles Anidados
Al revisar una mejora para nuestras reglas, encontramos que en XCTest, los controles anidados no se devuelven en el árbol de accesibilidad. Se ha presentado un error a Apple. (#1110)
La regla de Nombre de ImageView necesita revisión de resultados para aplicaciones de UIKit
En las aplicaciones UIKit, una imagen sin una `accessibilityLabel` no es focalizable con tecnología asistida por defecto.
Las propiedades que utilizamos para verificar la capacidad de enfoque de Apple pueden ser inexactas cuando se establece un `accessibilityIdentifier` en la imagen. Debido a este comportamiento inesperado, los resultados de 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 Vista de Desplazamiento, Label In Name, Label at Front, y v2.11.0 Nombre de Vista de Imagen & Nombre de Control Activo
Estamos trabajando activamente en las siguientes correcciones para falsos positivos y actualizaremos esta lista a medida que se publiquen correcciones.
In Scroll View
Puede reportar problemas para texto dentro de elementos que se comportan como un banner. Para hacer que estos elementos estén disponibles para aquellos que requieren texto más grande, utilice UILargeContentViewer. (#622)
v2.11.0 Image View Name & Active Control Name
Si un UIImageView tiene un `accessibilityIdentifier` configurado pero no es focalizable por VoiceOver, y tiene controles focalizables anidados dentro de él, ActiveControlName puede reportar un falso positivo en el UIImageView. Eliminar el `accessibilityIdentifier` resuelve el problema. Se ha presentado un 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 cercano incorrecto puede ser detectado causando que estas reglas fallen. (#1622)
Android
Error al guardar resultados localmente en API 30
En Android API 30, uno de los lugares en los que 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 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
// }
}
Please note that this code should only be commented out for API 30 as it will cause problems when saving locally for other API levels.
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 pantalla. Para probar la accesibilidad de un elemento, asegúrese de que esté completamente en la pantalla antes de realizar el escaneo.
Aplicación del Analizador: Botón de Acción Flotante Desaparece
Con la API 31 (Android 12) se introdujo la capacidad de ocultar superposiciones no 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 las compilaciones de pruebas internas donde pueda utilizar datos de prueba de manera segura y así eliminar las preocupaciones de seguridad de esta 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 Faltante (Caja Negra) en el Panel
Para desbloquear la funcionalidad completa de Axe DevTools para móviles, asegúrate de que las capturas de pantalla estén habilitadas. Recomendamos habilitarlas en una versión de depuración o prueba de tu aplicación que use datos ficticios para evitar problemas de seguridad. Consulta nuestra guía para habilitar capturas de pantalla en aplicaciones Android.
Error al establecer `minifiedEnabled` como verdadero
Si minificas tu compilación, verás un error con un registro indicando que no se pudo encontrar un adaptador al intentar iniciar sesión en la biblioteca de Axe DevTools. Desactiva la minificación para tus 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 minificar la biblioteca axeDevTools, lo que resulta 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.** { *; }
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 APIs de Compose están obsoletas, por favor usa las APIs agnósticas de layout para seguir recibiendo actualizaciones. Si continúas usando las APIs de Compose y encuentras 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 consulta la API Compose setTestTag.
Mensaje de registro:MlKitContext has not been initialized
Si encuentras este mensaje, es posible que algunos resultados de reglas no se devuelvan como se esperaba cuando esa regla está utilizando inteligencia artificial. Las reglas afectadas incluyen Contraste de Color, Texto Enfocable y Nombre de Elemento Anidado. (#841)
MAUI: Regla de Nombre de Texto Editado
Debido a limitaciones de la arquitectura de aplicaciones MAUI en el ecosistema Android, la regla de Nombre de Texto Editado aparecerá como Necesita Revisión en el panel de control cuando se sospeche un fallo para la versión SDK 5.5.0 y superiores. Por favor confirma el comportamiento correcto manualmente para este caso.
Android Nativo: Diálogos/Modales Personalizados
Cuando estás implementando diálogos o modales personalizados que no extienden los controles nativos, es posible que obtengas resultados para las vistas detrás del modal. En este caso, recomendamos no ejecutar nuestra herramienta contra estos modales o diálogos personalizados y en su lugar chequearlos manualmente para asegurar que funcionen con la tecnología asistiva 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, tu aplicación puede estar impidiendo que se tomen capturas de pantalla. A menudo esto es por razones de seguridad en tu aplicación de producción. Considera eliminar este requisito para tu compilación de prueba para permitir la funcionalidad completa en el Panel de Control Móvil de Axe DevTools.
Algunos nombres de escaneo de Android están sin formatear
Algunos nombres de escaneo de Android que se predeterminan al título de la pantalla aparecerán como el nombre completo de la clase, incluido el identificador del paquete. En una versión futura, 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 marcos. (#1643)
