axe DevTools Mobile Release-opmerkingen voor 21 mei 2025
21 mei 2025
Componentversies
iOS
- iOS SDK (axeDevToolsXCUI v2.15.0)
- iOS Analyzer (axe-devtools-mobile-analyzer v1.4.11)
- iOS Appium Driver (axe-appium-xcuitest-driver v1.4.0)
Hoe te updaten: iOS SDK, iOS Analyzer, iOS Appium Driver
Android
- Android SDK (axe-devtools-android v6.3.0)
- Android Analyzer (axe Accessibility Analyzer v1.13.0)
- Android Appium Driver (axe-appium-uiautomator2-driver v1.4.1)
Hoe te updaten Android-SDK, Android Analyzer, Android Appium Driver
Wat is er nieuw?
Regelbronnenuitlijning
Nu, wanneer u naar onze toegankelijkheidsregels verwijst, zult u merken dat ze ofwel direct overeenkomen met de Web Content Accessibility Guidelines (WCAG) succescriteria of dat ze worden beschouwd als een Best Practice, gedefinieerd door een opmerking in de WCAG, advies van Deque A11y-experts, of aanbevelingen van Apple en Google.
Android SDK en Analyzer-app
Een nieuwe en verbeterde manier van testen op schermoriëntatie geïmplementeerd.
Experimentele regels standaard uitgeschakeld
Om overeen te komen met het gedrag van axe DevTools voor het web, hebben we experimentele regels standaard uitgeschakeld in het axe DevTools Mobile Dashboard. Lees meer over experimentele regels en hoe u ze naar wens kunt inschakelen.
Oplossingen
iOS
- Regels zullen geen problemen meer veroorzaken voor besturingselementen binnen het door het OS geleverde toetsenbord
- Verbeteringen in de nauwkeurigheid van de regels ‘Label in Naam’ en ‘Actieve Controle’
Android
- Verbeterde foutafhandeling voor een uitzondering bij het verzamelen van AccessibilityNodeInfo
- Aangepaste MLKit-implementatie om versieverschillen te verminderen
- Verbeteringen in de nauwkeurigheid van de regels ‘EditText Name’ en ‘Kleurcontrast’
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 brengen zodra het probleem is opgelost of van een geïdentificeerde workaround als er geen wordt vermeld.
- axe DevTools Mobile-automatische tests worden uitgevoerd op native iOS-, native Android- en React Native-apps. Neem contact op met uw Deque-vertegenwoordiger voor toegankelijkheidstestoplossingen op uw tech-stack.
- Hoewel u mogelijk enkele resultaten krijgt van webviews of gerenderde PDF's, raden wij ten zeerste aan om te testen met axe DevTools voor het web of axe Monitor voor de meest uitgebreide toegankelijkheidstests 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 om scans uit te voeren op fysieke apparaten met iOS Analyzer 1.4.7
Een configuratie-instelling in de iOS Analyzer 1.4.7 verhindert dat scans worden uitgevoerd en geeft de melding "Test mislukt" terug. Om scans op een fysiek apparaat uit te voeren, werkt u de laatste iOS Analyzer-project bij.
Fout in Analyzer-project & Testen op basis van Bundle-ID in 2.8.1
Functionaliteit voor het testen van een applicatie op basis van de bundel-ID werkte niet in versie 2.8.1, wat resulteerde in een fout met de titel „Geen doelapplicatiepad opgegeven via testconfiguratie: ...“. Werk bij naar 2.8.2 of de nieuwste versie om de fout op te lossen. Werk binnen het iOS Analyzer-project bij naar de meest recente versie.
„Kon AxeResult niet serialiseren“ fout in Analyzer-project v1.2.0 & SDK v2.12.3
Het scannen van sommige applicaties met deze versie van de analyzer en SDK resulteerde in een „Kon AxeResult niet serialiseren“ fout. Werk bij naar de meest recente versie om de fout op te lossen. Werk de laatste iOS Analyzer-project bij.Werk de laatste iOS SDK bij.
False Positive: LabelInName en LabelAtFront in SwiftUI & Cross Platform Apps
Sommige schermen kunnen valse positieven rapporteren met LabelInName en LabelAtFront vanwege een onjuist gevonden associatedText-eigenschap (#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 u bent aangemeld voor de Ondersteunt Dynamic Type regel, kunt u deze niet testen met een iPhone 15 Pro-simulator. Er is een bug ingediend bij Apple.
Regels tegen geneste besturingselementen
Bij 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 ingediend bij Apple. (#1110)
ImageView Naamregel 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` is ingesteld op de afbeelding. Door dit onverwachte gedrag worden de resultaten voor ImageView Naam problemen in UIKit-apps gerapporteerd als Beoordelings Nodig. Er is een bugrapport ingediend bij Apple. (#1633)
False Positive: In Scroll View, Label In Name, Label at Front, en Image View Naam & ActiveControlName in v2.11.0
We werken actief aan oplossingen voor de volgende valse positieven en zullen deze lijst bijwerken zodra oplossingen worden uitgebracht.
In Scroll View
Kan problemen melden voor tekst binnen elementen die zich als banners gedragen. Om deze elementen beschikbaar te maken voor degenen die grotere tekst nodig hebben, gebruikt u UILargeContentViewer. (#622)
v2.11.0 Image View Name & Active Control Name
Als op een UIImageView een `accessibilityIdentifier` is ingesteld, maar deze niet focusbaar is door VoiceOver, en het focusbare besturingselementen bevat die erin genest zijn, kan ActiveControlName een vals positief resultaat melden op de UIImageView. 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 een zichtbare label van een besturingselement tussen nabijgelegen elementen om de status van de regel te helpen bepalen. In sommige weergavehiërarchieën kan de onjuiste nabijgelegen tekst worden gedetecteerd, waardoor deze regels falen. (#1622)
Android
Kleurcontrastregel wordt niet uitgevoerd wanneer tekst- en achtergrondkleuren hetzelfde zijn
Onze kleurcontrastregel hangt af van machinaal leren om tekst te detecteren, wat ervoor zorgt dat de gescande tekst zichtbaar is voor gebruikers van uw applicatie. In gevallen waarin de tekst in een weergave dezelfde kleur heeft als de achtergrond, kan ons machinaal leren-algoritme niet detecteren of er tekst aanwezig is, waardoor de kleurcontrastregel niet op deze weergave wordt toegepast.
EditTextName op Android 7 (SDK 24-25)
Apps die geschreven zijn met XML en de hinttekstfunctie gebruiken, kunnen valse positieven zien met de EditTextName regel. Hinttekst werd pas in Android 8 (SDK 26) geïntroduceerd. Het gebruik van dit element in uw XML-app zal de hinttekst toewijzen aan de waarde van het tekstinvoerveld. Recentere versies van Android zijn beter uitgerust om deze ervaring toegankelijk te maken.
Om dit probleem te overwinnen, is onze eerste aanbeveling om uw tests op nieuwere versies van Android uit te voeren. Als het echter belangrijk is dat de app toegankelijk is op eerdere Android-versies, kunt u overwegen het gebruik van de hintText functie te vermijden, aangezien deze niet officieel wordt ondersteund.
Android verborgen weergaven die resultaten retourneren
U kunt resultaten zien voor weergaven die verborgen zijn achter andere weergaven op het scherm. Deze verborgen weergaven zijn niet beschikbaar voor ondersteunende technologie, maar axe DevTools Mobile rapporteert ze nog steeds als problemen.
We werken aan een oplossing voor dit complexe probleem. In de tussentijd, als TalkBack deze weergaven niet kan bereiken, kunt u de bijbehorende problemen negeren. Er is geen oplossing nodig om toegankelijkheid te garanderen.
Fout bij het uitvoeren van ML Kit Tekstdetectie
ML Kit tekstdetectie is vereist in veel van de axe DevTools Mobile regels om de nauwkeurigheid van de resultaten te garanderen. De ML Kit-bibliotheek zou automatisch moeten worden geïmporteerd wanneer u verwijst naar axe DevTools Mobile in uw geautomatiseerde Espresso- of UIAutomator-tests. In sommige gevallen echter gebeurt de automatische import niet en ziet u 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 u de ML Kit-bibliotheek handmatig aan uw project toevoegen. Voeg het volgende toe onder dependencies in het build.gradle bestand van uw applicatie:
implementation 'com.google.mlkit:text-recognition:16.0.1'
Touch Target Spacing en Jetpack Compose
De Touch Target Spacing regel wordt momenteel niet uitgevoerd op schuifcomponenten die in Jetpack Compose zijn geschreven. Op dit moment kan er geen actie worden ondernomen. Een oplossing komt echter binnenkort!
Fout bij het lokaal opslaan van resultaten op API 30
Op Android API 30 heeft een van de locaties waar we proberen lokaal resultaten op te slaan een toestemmingsfout. Het resultaat zal nog steeds als een JSON-bestand worden opgeslagen, ondanks dat deze fout wordt weergegeven. De fout kan worden onderdrukt door de code te becommentariëren in het volgende blok:
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.
Scroll-detectie in 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 vallen. Om een element op toegankelijkheid te testen, zorg ervoor dat het volledig op het scherm staat voordat u de scan uitvoert.
Analyzer-app: Floating Action Button verdwijnt
Met API 31 (Android 12) is de mogelijkheid geïntroduceerd om niet-systeemoverlays te verbergen. Om de axe Analyzer-app te gebruiken, moet u ervoor zorgen dat deze instelling niet is ingeschakeld. Als u ervoor heeft gekozen om deze functie te gebruiken vanwege de verbeteringen op het gebied van beveiliging, raden we aan deze uitgeschakeld te laten voor interne testversies waar u veilig testgegevens kunt gebruiken en beveiligingsproblemen op die manier kunt uitsluiten. 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, werkt u de aanroepen naar de methode bij setHideOverlayWindows(true) op de setHideOverlayWindows(false) in de getroffen activiteitsvensters.
Schermafbeelding Ontbreekt (Zwart Vak) in het Dashboard
Om de volledige functionaliteit van axe DevTools voor Mobile 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 nepgegevens om beveiligingsproblemen te voorkomen. Bekijk onze handleiding voor het inschakelen van schermafbeeldingen in Android-apps.
Crash wanneer `minifiedEnabled` is ingesteld op true
Bij het verkleinen van je build zul je een crash tegenkomen met een foutlog dat meldt dat een adapter niet kan worden gevonden bij het proberen in te loggen op de axe DevTools-bibliotheek. Schakel minify uit voor je debug-builds met geïmplementeerde axe DevTools. (#729)
Builds met ingeschakelde r8 geven een foutmelding
Een build met ingeschakelde r8 kan proberen de axeDevTools-bibliotheek te verkleinen, resulterend in een foutmelding die lijkt op:
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 de lay-out agnostische API's om updates te blijven ontvangen. Als je de Compose-API's blijft gebruiken en een fout tegenkomt zoals `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)` of `No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?`, raadpleeg dan Compose setTestTag API.
Logbericht:MlKitContext has not been initialized
Als je dit bericht tegenkomt, kunnen sommige regelresultaten niet zoals verwacht terugkeren wanneer die regel kunstmatige intelligentie gebruikt. Getroffen regels zijn onder andere Kleurcontrast, Focusbare Tekst en Genestelde Elementnaam. (#841)
MAUI: Bewerken Tekstnaamregel
Vanwege beperkingen van de MAUI-app-architectuur rendering in het Android-ecosysteem, zal de Bewerken Tekstnaamregel als Beoordeling Nodig worden weergegeven in 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 controles niet uitbreiden, kun je resultaten krijgen voor weergaven achter de modal. In dit geval raden we aan om onze tool niet te gebruiken voor deze aangepaste modals of dialogen, maar ze in plaats daarvan handmatig te controleren om ervoor te zorgen dat ze zich gedragen zoals gewenst met ondersteunende technologie.
Web Dashboard
Ontbrekende Schermafbeelding
Als de schermafbeelding ontbreekt op de pagina met scangegevens, kan het zijn dat je app voorkomt dat er schermafbeeldingen worden gemaakt. Vaak is dit om beveiligingsredenen in je productieapplicatie. Overweeg om deze vereiste te verwijderen voor je testbuild om volledige functionaliteit in het axe DevTools Mobile Dashboard mogelijk te maken.
Sommige Android-scannamen zijn niet opgemaakt
Sommige Android-scannamen die standaard de schermtitel gebruiken, worden weergegeven als de volledige klassennaam inclusief de bundelidentificatie. In een toekomstige release zal dit worden opgelost, zodat de schermtitel wordt geformatteerd in een beter leesbare naam. Als tijdelijke oplossing kun je de scannaam instellen via het dashboard of frameworks. (#1643)
