axe DevTools Mobile Uitgaveopmerkingen 14 augustus 2025
14 augustus 2025
Componentversies
iOS
- iOS SDK (axeDevToolsXCUI v2.17.0)
- iOS Analyzer (axe-devtools-mobile-analyzer v1.5.0)
- iOS Appium Driver (axe-appium-xcuitest-driver v1.7.0) (Vertakt van XCUITest v9.10.4)
Hoe te updaten: iOS SDK, iOS Analyzer, iOS Appium Driver
Android
- Android SDK (axe-devtools-android v7.1.0)
- Android Analyzer (axe Accessibility Analyzer v2.1.0)
- Android Appium Driver (axe-appium-uiautomator2-driver v1.5.0) (Vertakt van UiAutomator2 v4.2.8)
Hoe te updaten Android-SDK, Android Analyzer, Android Appium Driver
Oplossingen
iOS
- Verbeteringen in de nauwkeurigheid van de volgende regels: Geneste Elementen Naam, Touch Doelgrootte en Touch Doelafstand
Android
- Als MLKit niet kan worden uitgevoerd, wordt er een 'Overzicht vereisten'-item gemeld op de rootweergave van de scan om aan te geven dat de rest van de resultaten mogelijk niet nauwkeurig is. Vind hieronder details over hoe u MLKit handmatig kunt importeren, voor het geval dit zich voordoet.
- Verbeteringen in de nauwkeurigheid van de Actieve Weergave Naam regel
Updates
Ondersteuning voor Android API-niveau
- De Mobile Analyzer-app ondersteunt nu API-niveau 36
Bekende problemen
Als u een van de onderstaande problemen ervaart, neem dan contact met ons op via helpdesk@deque.com of support.deque.com. Wij kunnen u dan op de hoogte stellen zodra het is opgelost of als er een werkverlichting is gevonden als deze niet is vermeld.
- axe DevTools Mobile geautomatiseerd testen draait op native iOS, native Android, en React Native applicaties. Neem contact op met uw Deque-vertegenwoordiger voor oplossingen voor toegankelijkheidstests op uw technologie stack.
- Hoewel u enkele resultaten kunt krijgen van webviews of weergegeven PDF-bestanden, raden wij ten zeerste aan om te testen met axe DevTools voor Web of axe Monitor voor de meest uitgebreide toegankelijkheidstest voor het web.
iOS
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.
Niet in staat scans uit te voeren op fysieke apparaten met iOS Analyzer 1.4.7
Een configuratie-instelling in de iOS Analyzer 1.4.7 voorkomt dat scans worden uitgevoerd, met als resultaat het bericht „Test mislukt“. Om scans op een fysiek apparaat uit te voeren, update naar het nieuwste iOS Analyzer-project.
Fout in Analyzer Project & Testen via Bundel-ID in 2.8.1
Functionaliteit voor het testen van een applicatie via bundel-identificatie was gebroken in versie 2.8.1, wat resulteerde in een fout met de titel "No target application path specified via test configuration: ...". Update naar 2.8.2 of de nieuwste versie om de fout op te lossen. Update naar de nieuwste binnen het iOS Analyzer-project.
„Could not Serialize AxeResult“-fout in Analyzer Project v1.2.0 & SDK v2.12.3
Het scannen van sommige applicaties met deze versie van de analyzer en SDK zou resulteren in een "Could not Serialize AxeResult" 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.
Foutieve Positief: LabelInName en LabelAtFront in SwiftUI & Cross-Platform Apps
Sommige schermen kunnen foutieve positieven melden met LabelInName en LabelAtFront door een onjuiste associatedText-eigenschap die is gevonden (#1622)
Ondersteunt Dynamic Type-regel werkt niet met iOS 15 Pro-simulator
Er is een probleem dat de iPhone 15 Pro-simulator beïnvloedt, waardoor de Ondersteunt Dynamic Type-regel niet kan worden uitgevoerd. Als je hebt gekozen voor de Ondersteunt Dynamic Type-regel, kun je deze niet testen met een iPhone 15 Pro-simulator. Een bug is bij Apple ingediend.
Regels tegen Geneste Besturingselementen
Tijdens het bekijken van een verbetering voor onze regels, ontdekten we dat in XCTest, geneste besturingselementen niet worden geretourneerd in de toegankelijkheidsboom. Er is een bug bij Apple ingediend. (#1110)
ImageView Naamsregel Moet Resultaten voor UIKit Apps Beoordelen
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 is ingesteld op de afbeelding. Vanwege dit onverwachte gedrag zullen resultaten voor ImageView Naamsproblemen in UIKit-apps worden gerapporteerd als Moet Beoordeeld Worden. Er is een bugrapport ingediend bij Apple. (#1633)
Foutieve Positief: In Scroll View, Label In Name, Label at Front, en v2.11.0 Image View Name & ActiveControlName
We werken actief aan oplossingen voor de volgende foutieve positieven en zullen deze lijst bijwerken zodra er oplossingen beschikbaar zijn.
In Scroll View
Kan problemen melden voor tekst binnen elementen met baken gedrag. Om deze elementen beschikbaar te maken voor degenen die grotere tekst nodig hebben, gebruik UILargeContentViewer. (#622)
v2.11.0 Image View Name & Active Control Name
Als een UIImageView een accessibilityIdentifier heeft ingesteld, maar niet focusbaar is met VoiceOver, en het heeft focusbare besturingselementen erin genesteld, dan kan ActiveControlName een foutieve positief op de UIImageView rapporteren. Het verwijderen van de accessibilityIdentifier lost het probleem op. Er is een bug ingediend bij Apple. (#1633)
Label In Name and Label At Front
Deze twee regels zoeken naar het zichtbare label van een besturingselement tussen nabijgelegen elementen om de regelstatus te bepalen. In sommige weergavehiërarchieën kan de verkeerde nabije tekst worden gedetecteerd, waardoor deze regels mislukken. (#1622)
Android
Kleurcontrastregel wordt niet uitgevoerd wanneer tekst- en achtergrondkleuren gelijk zijn
Onze Kleurcontrastregel is afhankelijk van Machine Learning om tekst te detecteren, wat ervoor zorgt dat de gescande tekst zichtbaar is voor gebruikers van je applicatie. In gevallen waar de tekst in een weergave dezelfde kleur heeft als de achtergrond, kan ons Machine Learning-algoritme niet detecteren of er tekst aanwezig is, waardoor de Kleurcontrastregel niet op deze weergave wordt uitgevoerd.
EditTextName op Android 7 (SDK 24-25)
Apps geschreven met XML die de hinttekstfunctie gebruiken, kunnen foutieve positieven ondervinden met de EditTextName regel. Hinttekst werd pas geïntroduceerd in Android 8 (SDK 26). Het gebruik van dit element in je XML-app zal de hinttekst toewijzen aan de waarde van het tekstinvoerveld. Meer recente versies van Android zijn beter uitgerust om deze ervaring toegankelijk te maken.
Om dit probleem te overwinnen, is onze eerste aanbeveling om je tests op nieuwere versies van Android uit te voeren. Als het echter belangrijk is dat de app toegankelijk is op oudere Android-versies, kun je overwegen het gebruik van de hintText functie te vermijden, omdat deze niet officieel wordt ondersteund.
Android verborgen weergaven die resultaten retourneren
Je kunt resultaten zien voor weergaven die verborgen zijn achter andere weergaven op het scherm. Deze verborgen weergaven zijn niet toegankelijk voor ondersteunende technologie, maar axe DevTools Mobile rapporteert ze toch als problemen.
We werken aan een oplossing voor dit complexe probleem. In de tussentijd, als TalkBack deze weergaven niet kan bereiken, kun je de bijbehorende problemen negeren. Ze vereisen geen oplossing om toegankelijkheid te garanderen.
Fout bij uitvoeren van ML Kit-tekstherkenning
ML Kit-tekstherkenning is vereist in veel van de axe DevTools Mobile-regels om de nauwkeurigheid van de resultaten te garanderen. De ML Kit-bibliotheek moet automatisch worden geïmporteerd wanneer je naar axe DevTools Mobile verwijst in je geautomatiseerde Espresso- of UIAutomator-tests. In sommige gevallen gebeurt de automatische import echter niet en zie je de volgende fout in de logcat:
Axe DevTools Android: Error while running mlKit Text Detection: MlKitContext has not been initialized.
Om dit probleem te overwinnen, moet je de ML Kit-bibliotheek handmatig in je project importeren. Voeg in het build.gradle bestand van je applicatie het volgende onder dependencies toe:
implementation 'com.google.mlkit:text-recognition:16.0.1'
Touch Target Afstand en Jetpack Compose
De Touch Target Afstandsregel wordt momenteel niet uitgevoerd op schuifregelaarcomponenten die zijn geschreven in Jetpack Compose. Er kan op dit moment geen actie worden ondernomen. Er komt echter binnenkort een oplossing!
Fout bij het lokaal opslaan van resultaten op API 30
Op Android API 30 heeft een van de locaties waar we proberen resultaten lokaal op te slaan een toestemmingsfout. 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 schakelen:
def clearDirectoryTask = task('clearDirectoryTask', type: Exec, group: 'reporting') {
executable "${android.getAdbExecutable().toString()}"
args 'shell', 'rm', '-r', '/storage/emulated/0/Documents/AxeTestCases'
// finalizedBy {
// fetchAndroidFolderAxeReportsTask
// }
}
Let op dat deze code slechts moet worden uitgeschakeld voor API 30 omdat het problemen zal veroorzaken bij het lokaal opslaan voor andere API-niveaus.
Scrolldetectie op Hybride Apps en Cross-Platform Apps
In sommige hybride en cross-platform apps kunnen we onverwachte resultaten teruggeven wanneer items in een scrollweergave gedeeltelijk buiten het scherm zijn. Test een element voor toegankelijkheid door ervoor te zorgen dat het volledig zichtbaar is voordat je de scan uitvoert.
Analyzer App: Vervreemde Actieknop Verdwijnt
Met API 31 (Android 12) is de mogelijkheid geïntroduceerd om niet-systeemoverlays te verbergen. Om de axe Analyzer-app te gebruiken, zorg ervoor dat deze instelling niet is ingeschakeld. Als je ervoor hebt gekozen om deze functie te gebruiken vanwege zijn beveiligingsverbeteringen, raden we aan deze uit te laten voor interne testversies, waar je veilig testgegevens kunt gebruiken en beveiligingsproblemen op die manier 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 alle aanroepen naar de methode bij setHideOverlayWindows(true) naar setHideOverlayWindows(false)
op de getroffen actievenschermen.
Schermafbeelding Ontbreekt (Zwarte Vak) op het Dashboard
Om de volledige functionaliteit van axe DevTools voor Mobiel te ontgrendelen, zorg ervoor dat schermafbeeldingen zijn ingeschakeld. We raden aan om schermafbeeldingen in te schakelen op een debug- of testversie van je app die gebruikmaakt van gesimuleerde gegevens om beveiligingsproblemen te voorkomen. Bekijk onze gids voor het inschakelen van schermafbeeldingen in Android-apps.
Crash wanneer `minifiedEnabled` is ingesteld op true
Als je jouw build minimaliseert, krijg je een crash met een foutlog waarin wordt gemeld dat een adapter niet kon worden gevonden bij het proberen in te loggen op de axe DevTools-bibliotheek. Schakel minimaliseren uit voor je debug-builds met geïmplementeerde axe DevTools. (#729)
Builds met ingeschakelde r8 leveren een fout op
Een build met ingeschakelde r8 kan proberen de axeDevTools-bibliotheek te minimaliseren, wat resulteert in een fout die lijkt op:
Caused by: java.lang.NullPointerException: throw with null exception
Om deze fout op te lossen, voeg de volgende regel toe aan je ProGuard-bestand om de axeDevTools-klassen te behouden:
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)
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 layout-agnostische API's om updates te blijven ontvangen. Als je de Compose API's blijft gebruiken en een fout tegenkomt zoals `Verwacht precies '1' knooppunt maar gevonden '2' knooppunten die aan de voorwaarde voldoen: (isRoot)` of `Geen View geïnitialiseerd, heb je AxeDevToolsCompose.setComposeTestRule() aangeroepen?`, raadpleeg dan de Compose setTestTag API.
Logbericht:MlKitContext has not been initialized
Als je dit bericht tegenkomt, kunnen sommige regelresultaten mogelijk niet naar verwachting worden geretourneerd wanneer die regel gebruikmaakt van kunstmatige intelligentie. Getroffen regels zijn onder andere Kleurcontrast, Focusable Text en Geneste Elementnaam. (#841)
MAUI: Edit Text Name-regel
Vanwege beperkingen van de MAUI-apparchitectuur in het Android-ecosysteem zal de Edit Text Name-regel worden weergegeven als Nodig om te Beoordelen op het dashboard wanneer een fout wordt vermoed voor SDK-versie 5.5.0 en hoger. Bevestig het correcte gedrag handmatig voor dit geval.
Native Android: Aangepaste Dialogen / Modals
Wanneer je aangepaste dialogen of modals implementeert die de native controls niet uitbreiden, kun je resultaten krijgen voor weergaven achter de modal. In dit geval raden we aan onze tool niet te draaien tegen deze aangepaste modals of dialogen, maar in plaats daarvan ze handmatig te controleren om ervoor te zorgen dat ze zich zoals gewenst gedragen met ondersteunende technologie.
Webdashboard
Ontbrekende Schermafbeelding
Als de schermafbeelding ontbreekt op de scanoverzichtspagina, kan je app het maken van schermafbeeldingen verhinderen. Vaak is dit om veiligheidsredenen in je productieapplicatie. Overweeg deze eis voor je testbuild te verwijderen om de volledige functionaliteit van het axe DevTools Mobile-dashboard in te schakelen.
Sommige Android-scannamen zijn niet opgemaakt
Sommige Android-scannamen die standaard op de schermtitel zijn ingesteld, worden weergegeven als de volledige klassennaam inclusief de bundelidentifier. In een toekomstige release zal dit worden opgelost, zodat de schermtitel wordt opgemaakt in een leesbaardere naam. Als tijdelijke oplossing kun je de scannaam instellen vanaf het dashboard of via frameworks. (#1643)
