Toegankelijkheidsscanner Remediëring
Gebruikt uw team de Android Accessibility Scanner van Google?
Dit gedeelte biedt advies voor het herstellen van de regels die de scanner controleert. Lees meer over het benutten van Accessibility Scanner en axe DevTools Mobile.
Bezoek de richtlijnen voor de toegankelijkheidsscanner van Google voor hun volledige lijst met huidige controles, beschrijvingen en updates.
Inhoud Labeling
Label Ontbreekt
Inhoud binnen de weergave kan contextuele informatie missen.
Voor elke weergave die informatie aan de gebruiker biedt, moet een van de volgende worden verstrekt om dit toegankelijkheidsprobleem op te lossen:
android:contentDescription: In de meeste gevallen volstaat het toevoegen van een inhoudsomschrijving.android:hint: Hints kunnen worden toegevoegd om het type gegevens te beschrijven dat de gebruiker moet invoeren voor bewerkbare tekstweergaven.android:labelFor: Deze tag stelt u in staat een weergave als label voor een andere weergave toe te wijzen.
Binnen Compose worden inhoudsomschrijving en hint gevonden als parameter bij het definiëren van de weergave of via de Modifier-interface.
Decoratieve Afbeeldingen
Decoratieve afbeeldingen die geen belangrijke informatie verschaffen, kunnen worden gemarkeerd als niet belangrijk voor toegankelijkheid.
Voor XML:
android:importantForAccessibility="no"
Of voor Compose:
Image(
imageVector = Icons.Filled.AccountCircle,
contentDescription = null // decorative
)Item Gelabeld met Type of Status
Een van uw weergaven kan een overbodige status hebben. Android biedt standaardweergaven met statussen zoals *aan*, *uit*, *geselecteerd*, of *niet geselecteerd*. Het toevoegen van een status aan de uitlezing kan een verwarrende ervaring opleveren.
Om dit toegankelijkheidsprobleem op te lossen, moet u ervoor zorgen dat:
- Selectievakjes een bijbehorend label hebben voor context
- Statusbeschrijvingen niet worden toegevoegd aan de beschrijving van de weergave
<TextView
android:id="@+id/edit_text_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:labelFor="@+id/example"
android:text="Check Label" />
<androidx.appcompat.widget.AppCompatCheckBox
android:id="@+id/example"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/with_text"/>Dubbele Item Beschrijvingen
Meerdere weergaven binnen de hiërarchie bleken identieke beschrijvingen te hebben.
Dit is geen WCAG-fout en er kunnen gevallen zijn waarin dit een vereiste is. Als inhoudsbeschrijvingen worden gedupliceerd, zorg er dan voor dat elke voldoende context biedt zodat de gebruiker weet wat het resultaat zou zijn van interactie met de weergave.
Onduidelijk Doel van de Link
Elke link moet genoeg tekst bevatten om zijn doel over te brengen. Bij het gebruik van beschrijvingen zoals „Klik hier“, moet u ervoor zorgen dat de omringende tekst voldoende informatie bevat om het doel van de link te achterhalen.
Implementatie - Klikbare Items
Klikbare Links
Links moeten duidelijk worden weergegeven en eenvoudig toegankelijk zijn vanuit het lokale contextmenu. Google raadt aan om gebruik te maken van URLSpan of de handige klasse Linkify om hyperlinks weer te geven in de gebruikersinterface van een app om de kans te vergroten dat deze links worden gedetecteerd en geactiveerd.
Dubbele Klikbare Weergaven
Een van de klikbare elementen in uw weergave overlapt met een ander klikbaar element. U kunt dit toegankelijkheidsprobleem op een van de volgende manieren oplossen:
- Verplaats de klikbare elementen zodat ze niet botsen of overlappen.
- Als de weergaven niet kunnen worden verplaatst, zorg er dan voor dat beide weergaven een geschikt groot klikgebied hebben en iedereen zonder problemen met de elementen kan omgaan.
Bewerkbaar Item Label
Bewerkbare velden moeten een label hebben dat het doel van het veld beschrijft.
Een voorbeeld met EditText:
<TextView
android:id="@+id/edit_text_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:labelFor="@+id/edit_text"
android:text="Enter your username" />
<EditText
android:id="@+id/edit_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="Hint" />Een voorbeeld met CheckBox:
Gebruik een TextView en koppel het aan het CheckBox-element:
val checkBox: CheckBox = ....... // Role: CheckBox
val label: TextView = ....... // Role: Label
label.setLabelFor(checkBox.getId()) // Associate the Checkbox with its NameNiet-ondersteund Itemtype
Het lijkt erop dat u een aangepaste weergave heeft. Bewerk de AccessibilityNodeInfo om de className te voorzien van een geschikt doel voor de weergave.
val frameLayout = findViewById<FrameLayout>(R.id.custom_view)
frameLayout.setAccessibilityDelegate(object : View.AccessibilityDelegate() {
override fun onInitializeAccessibilityNodeInfo(
host: View,
info: AccessibilityNodeInfo
) {
info.className = "ClassName"
info.contentDescription = "ContentDescription"
super.onInitializeAccessibilityNodeInfo(host, info)
}
})Volgorde van Navigatie
Als u uw weergaven kunt navigeren met TalkBack op een manier die contextueel logisch is, kan dit een vals-positief zijn en hoeft het niet aangepakt te worden.
Als TalkBack niet dezelfde informatie biedt als het lezen van de app zonder hulpmiddelen, kunt u overwegen de volgorde van de weergaven te wijzigen. Aangezien dit lastig kan zijn en per ongeluk een oneindige lus kan veroorzaken, raden we aan om de volgorde van de navigatie niet te wijzigen. Om de volgorde van de navigatie te veranderen, gebruik android:accessibilityTraversalBefore en android:accessibilityTraversalAfter.
Tekst Schalen
Tekstelementen moeten schaalbare pixels (sp) gebruiken in plaats van dichtheidsonafhankelijke pixels (dp) om de tekst mee te laten schalen met de lettergrootte-instelling van het apparaat.
Aanraakdoelgrootte
Voor aanbevelingen en advies over herstel van de visuele en aanraakbare gebieden van actieve bedieningsknoppen, raadpleeg de Aanraakdoelgrootte Regel voor onze Android-bibliotheek.
Laag Contrast
Het kleurcontrast tussen tekst en de achtergrond moet voldoen aan de minimum verhouding van WCAG 2 AA. Leer over deze verhouding en vind advies over herstel van Laag Contrast onder de Kleurcontrastregel voor onze Android-bibliotheek.
