Axe DevTools Mobile Releaseopmerkingen 21 januari 2025
21 januari 2025
Wat is er nieuw?
Toegankelijkheidsscore
We hebben het toegankelijkheidsscore-algoritme voor Axe DevTools Mobile aangepast om overeen te komen met ons webproduct. Het dashboard heeft een nieuw uiterlijk en toont niet langer een grafiek, totaal aantal problemen of toegankelijkheidsscore. Die score keek eerder naar elke probleem en de bijbehorende ernst. Nu kunnen gebruikers een score krijgen voor elke scan. Het ernstigste probleem op dat scherm bepaalt de score. De groep-scan functie bevat nu een toegankelijkheidsscore die wordt berekend op basis van het gemiddelde van de scores voor elke scan binnen die groep. U kunt nog steeds op individuele scans klikken om vervolgens alle gevonden problemen in elke scan te bekijken.
Oplossingen
- Meerdere verbeteringen voor toegankelijkheid op het Axe DevTools Mobile Dashboard
- Een probleem opgelost waarbij de verkeerde scan werd weergegeven in de groepsscansfunctie
Bekende problemen
Als u een van de onderstaande problemen ondervindt, neem dan contact met ons op via helpdesk@deque.com of support.deque.com. We kunnen u dan informeren zodra het is opgelost of over een geïdentificeerde oplossing als er geen wordt vermeld.
- Axe DevTools Mobile geautomatiseerd testen draait op native iOS, native Android en React Native applicaties. Neem contact op met uw Deque vertegenwoordiger voor toegankelijkheidstestoplossingen op uw technische stapel.
- Hoewel u enkele resultaten kunt krijgen van webviews of weergegeven PDF's, raden we sterk aan om te testen met Axe DevTools voor het web of Axe Monitor voor de meest uitgebreide toegankelijkheidstests voor het web.
iOS
Fout in Analyzer Project & Testen op basis van Bundle-ID in 2.8.1
Functionaliteit bij het testen van een applicatie op basis van bundel-ID was kapot in versie 2.8.1, wat resulteerde in een fout met de titel „Geen doelapplicatiepad gespecificeerd via testconfiguratie: ...“. Update naar 2.8.2 of de nieuwste versie om de fout op te lossen. Update naar de nieuwste binnen het iOS Analyzer-project.
„Kon AxeResult niet serialiseren“ Fout in Analyzer Project v1.2.0 & SDK v2.12.3
Scannen van sommige applicaties met deze versie van de analyzer en SDK zou resulteren in een „Kon AxeResult niet serialiseren“ fout. Update naar de nieuwste versie om de fout op te lossen. Update naar het nieuwste iOS Analyzer-project.Update naar de nieuwste iOS SDK.
Foutpositief: LabelInName en LabelAtFront in SwiftUI & Cross Platform Apps
Op sommige schermen kunnen foutpositieven worden gemeld met LabelInName en LabelAtFront vanwege het vinden van een onjuiste associatedText-eigenschap (#1622)
Regel voor Dynamic Type-ondersteuning werkt niet met iOS 15 Pro-simulator
Er is een probleem dat de iPhone 15 Pro-simulator beïnvloedt, waardoor de Dynamic Type-ondersteuningsregel niet kan worden uitgevoerd. Als u bent ingeschreven voor de Dynamic Type-ondersteuningsregel, kunt u deze niet testen met een iPhone 15 Pro-simulator. Er is een bug gemeld bij Apple.
Regels tegen geneste controles
Bij het bekijken van een verbetering voor onze regels, ontdekten we dat geneste controles in XCTest niet worden geretourneerd in de toegankelijkheidsboom. Er is een bug gemeld bij Apple. (#1110)
Regel voor ImageView Naam heeft beoordelingsresultaten nodig voor UIKit-apps
In UIKit-apps is een afbeelding zonder een `accessibilityLabel` standaard niet focusbaar met ondersteunende technologie.
De eigenschappen die we gebruiken om focusbaarheid van Apple te controleren, kunnen onnauwkeurig zijn wanneer een `accessibilityIdentifier` op de afbeelding is ingesteld. Vanwege dit onverwachte gedrag zullen resultaten voor ImageView Naam-problemen in UIKit-apps als Beoordeling Nodig worden gerapporteerd. Er is een bugrapport ingediend bij Apple. (#1633)
Foutpositief: In Scroll View, Label In Name, Label At Front, en v2.11.0 Image View Naam & ActiveControlName
We werken actief aan oplossingen voor de volgende foutpositieven en zullen deze lijst bijwerken zodra er oplossingen worden uitgebracht.
In Scroll View
Kan problemen melden voor tekst binnen banner-gedrag elementen. Om deze elementen beschikbaar te maken voor degenen die grotere tekst vereisen, gebruik UILargeContentViewer. (#622)
v2.11.0 Image View Name & Active Control Name
Als een UIImageView een `accessibilityIdentifier` heeft ingesteld maar niet door VoiceOver kan worden gefocust, en er zijn fokuseerbare controles binnen genesteld, kan ActiveControlName een foutpositief melden op de UIImageView. Het verwijderen van de `accessibilityIdentifier` lost het probleem op. Er is een bug gemeld bij Apple. (#1633)
Label In Name and Label At Front
Deze twee regels zoeken naar het zichtbare label van een controle tussen nabije elementen om de regelstatus te bepalen. In sommige weergavehiërarchieën kan de verkeerde nabije tekst worden gedetecteerd, waardoor deze regels falen. (#1622)
Android
Fout bij het lokaal opslaan van resultaten op API 30
Op Android API 30 is er een machtigingsfout bij een van de locaties waar we proberen resultaten lokaal op te slaan. Het resultaat wordt nog steeds als een JSON-bestand opgeslagen, ondanks dat deze fout wordt weergegeven. De fout kan worden onderdrukt door de code in het volgende blok uit te commentariëren:
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.
Scrolldetectie op hybride apps en cross-platform apps
In sommige hybride en cross-platform apps kunnen onverwachte resultaten worden geretourneerd wanneer items in een scroll-weergave gedeeltelijk buiten het scherm vallen. Om een element op toegankelijkheid te testen, zorg ervoor dat het volledig zichtbaar is voordat u de scan uitvoert.
Analyzer App: Zwevende actieknop verdwijnt
Geïntroduceerd met API 31 (Android 12) is de mogelijkheid om niet-systeem overlays te verbergen. Om de Axe Analyzer-app te gebruiken, zorg ervoor dat deze instelling niet is ingeschakeld. Als u ervoor gekozen hebt deze functie te gebruiken voor de beveiligingsverbeteringen, raden we aan deze uitgeschakeld te laten voor interne testversies waar u veilig testgegevens kunt gebruiken en zo beveiligingsproblemen kunt elimineren. Note: this setting does not affect Google's accessibility scanner app as it's considered a system overlay.
Om de Axe Accessibility Analyzer-app te gebruiken, werk dan alle oproepen naar de methode bij setHideOverlayWindows(true) naar setHideOverlayWindows(false) op de getroffen activiteitvensters.
Screenshot ontbreekt (zwarte doos) in het dashboard
Om de volledige functionaliteit van Axe DevTools voor Mobile te ontgrendelen, zorg ervoor dat schermafbeeldingen zijn ingeschakeld. We raden aan schermafbeeldingen in te schakelen op een debug- of testversie van uw app die gebruikmaakt van testgegevens om beveiligingsproblemen te vermijden. Bekijk onze gids voor screenshots inschakelen in Android-apps.
Crash wanneer `minifiedEnabled` is ingesteld op true
Als u uw build verkleint, ziet u een crash met een foutlogboek waarin wordt gemeld dat een adapter niet kon worden gevonden wanneer u probeert in te loggen op de Axe DevTools-bibliotheek. Schakel minify uit voor uw debug-builds met geïmplementeerde Axe DevTools. (#729)
Builds met ingeschakeld r8 geven een foutmelding
Een build met ingeschakeld r8 kan proberen de axeDevTools-bibliotheek te minimaliseren, wat resulteert in een foutmelding zoals:
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.** { *; }
Foutmelding vergelijkbaar met:
Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)
of: No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?
De Compose-API's zijn verouderd, gebruik alstublieft de lay-out-agnostische API's om updates te blijven ontvangen. Als je de Compose-API's blijft gebruiken en een fout tegenkomt zoals `Verwacht precies '1' node maar vond '2' nodes die voldoen aan: (isRoot)` of `Geen View geïnitialiseerd, heb je AxeDevToolsCompose.setComposeTestRule() aangeroepen?`, raadpleeg dan Compose setTestTag API.
Logbericht:MlKitContext has not been initialized
Als je dit bericht tegenkomt, kunnen sommige regelresultaten misschien niet terugkomen zoals verwacht wanneer die regel kunstmatige intelligentie gebruikt. Getroffen regels zijn onder andere Kleurcontrast, Focusbare tekst en Geneste elementnaam. (#841)
MAUI: Bewerken Tekst Naam regel
Vanwege beperkingen van de MAUI-app-architectuur bij het renderen in het Android-ecosysteem, wordt de regel Bewerken Tekst Naam weergegeven als 'Moet worden beoordeeld' in het dashboard wanneer een fout wordt vermoed voor SDK-versie 5.5.0 en hoger. Bevestig alstublieft handmatig het correcte gedrag voor dit geval.
Native Android: Aangepaste dialogen/modals
Wanneer je aangepaste dialogen of modals implementeert die niet de native controles uitbreiden, kun je resultaten krijgen voor weergaven achter de modal. In dit geval raden we aan onze tool niet tegen deze aangepaste modals of dialogen te laten draaien en in plaats daarvan handmatig te controleren of ze naar wens werken met ondersteunende technologie.
Webdashboard
Ontbrekend screenshot
Als de schermafbeelding ontbreekt op de scangedetailleerde pagina, kan uw app voorkomen dat er schermafbeeldingen worden gemaakt. Vaak is dit om veiligheidsredenen in uw productieapplicatie. Overweeg om deze vereiste te verwijderen voor uw testversie om volledige functionaliteit in het Axe DevTools Mobile Dashboard mogelijk te maken.
Sommige Android-scannamen zijn niet opgemaakt
Sommige standaard Android-scannamen worden weergegeven als de volledige klassennaam, inclusief de bundelidentifier. In een toekomstige release zal dit worden opgelost zodat de schermtitel wordt opgemaakt tot een leesbaardere naam. Als tijdelijke oplossing kun je de scan-naam instellen vanuit het dashboard of frameworks. (#1643)
