Aussagekräftiger zugänglicher Name
Der barrierefreier Name eines Elements sollte nicht dessen Barrierefreiheitsmerkmal enthalten.
Diese Regel setzt eine bewährte Vorgehensweise durch, die in den Human Interface Guidelines von Apple festgelegt ist. Sie können diese Regel über das Mobile Dashboard deaktivieren oder indem Sie die Regel in für iOS geschriebenen Tests ignorieren.
Erfahren Sie, wie Sie Regeln im Mobile Dashboard deaktivieren.
Auswirkung
VoiceOver-Benutzer sollten Zugriff auf dieselben auf dem Bildschirm angezeigten Informationen haben, ohne dass die Informationen in der VoiceOver-Ansage wiederholt werden.
Bestätigung
- VoiceOver aktivieren
- Konzentrieren Sie sich auf das Element
- Eines der folgenden Ereignisse wird eintreten:
- Nicht barrierefrei: VoiceOver gibt die Zugänglichkeitseigenschaft des Elements zweimal bekannt – als Teil des zugänglicher Namens des Elements und als Zugänglichkeitseigenschaft (die Ankündigung lautet beispielsweise „Weiter-Schaltfläche, Schaltfläche“).
- Barrierefrei: VoiceOver gibt den barrierefreien Namen des Elements gefolgt vom Barrierefreiheitsmerkmal bekannt. Das Merkmal wird nur einmal nach dem Namen angekündigt (die Ankündigung lautet beispielsweise „Weiter, Schaltfläche“).
So beheben Sie das Problem
Ein durch diese Regel gefundenes Problem wird dadurch verursacht, dass der barrierefreie Name das Barrierefreiheitsmerkmal des Elements enthält.
UIKit
Im Storyboard:
- Wählen Sie das Element mit einem
MeaningfulAccessibleName
Problem aus - Stellen Sie sicher, dass das Inspektorenfenster sichtbar ist
- Wählen Sie den Identitätsinspektor
- Unter „Barrierefreiheit“ gibt es eine Kategorie namens „Label“. Geben Sie eine Beschriftung ein, die genau mit dem sichtbaren Text übereinstimmt oder diesen enthält, und das Barrierefreiheitsmerkmal des Elements nicht als Teil der Beschriftung einschließt.
Im Code:
Suchen Sie, wo das Zugänglichkeitsetikett festgelegt wurde, und stellen Sie sicher, dass der Wert des Zugänglichkeitsetiketts entweder mit dem gesamten sichtbaren Text der Komponente übereinstimmt oder diesen enthält und nicht das Zugänglichkeitsmerkmal des Elements enthält.
button.title = "Next"
button.accessibilityTraits = .button
SwiftUI
Stellen Sie sicher, dass Sie eine Zugänglichkeitsbezeichnung festlegen, die nicht das Zugänglichkeitsmerkmal des Elements enthält.
Button(action: {
openMenu()
}) {
Text("Next")
}.accessibility(label: Text("Next"))
React Native
Stellen Sie sicher, dass die Barrierefreiheitsbezeichnung eines Elements nicht die Barrierefreiheitsrolle des Elements enthält.
<Button title='Order now' accessibilityLabel='order now' accessibilityRole='button'/>