Toegankelijkheidsscanner Remediëring
Gebruikt uw team de Android Accessibility Scanner van Google?
Dit gedeelte biedt hersteladvies voor de regels die de scanner controleert. Lees verder over het benutten van Accessibility Scanner en Axe DevTools Mobile.
Bezoek richtlijnen voor de toegankelijkheidsscanner van Google voor hun volledige lijst van 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 is het toevoegen van een inhoudsbeschrijving alles wat nodig is.android:hint: Er kunnen hints worden toegevoegd om het type gegevens te beschrijven dat de gebruiker moet invoeren voor bewerkbare tekstweergaven.android:labelFor: Met deze tag kunt u een weergave toewijzen als een label voor een andere weergave.
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 het leesvenster kan leiden tot een verwarrende ervaring.
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 zouden duidelijk moeten worden weergegeven en gemakkelijk toegankelijk moeten zijn vanuit het lokale contextmenu. Google stelt voor om URLSpan of de handige klasse Linkify te gebruiken 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 hebt. Bewerk de AccessibilityNodeInfo om de className een passende functie voor de weergave te geven.
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 ondersteunende technologie, kunt u overwegen om de volgorde van de weergaven aan te passen. Aangezien het lastig kan zijn om dit correct te doen en het ook kan resulteren in het per ongeluk toevoegen van een oneindige lus, raden we aan om de doorkruisingsvolgorde niet te bewerken. Om de doorkruisingsvolgorde te wijzigen, kunt u android:accessibilityTraversalBefore en android:accessibilityTraversalAfter gebruiken.
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 hersteladviezen voor de visuele en aanraakbare gebieden van actieve controles, raadpleeg de Aanraakdoelgrootte Regel voor onze Android-bibliotheek.
Laag Contrast
Het kleurcontrast tussen tekst en zijn achtergrond moet voldoen aan de WCAG 2 AA-minimumverhouding drempels. Lees meer over deze verhouding en vind hersteladvies voor laag contrast onder de Kleurcontrastregel voor onze Android-bibliotheek.
