Name verschachtelter Elemente

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard
Not for use with personal data

WCAG 2.0 – 1.3.2 A Auswirkung – Kritisch

Eine fokussierbare Ansicht sollte den gesamten sichtbaren Text innerhalb ihres zugänglichen Namens verfügbar für unterstützende Technologien wie VoiceOver und Sprachsteuerung haben.

Auswirkung

Am stärksten betroffen sind Benutzer von VoiceOver. Entwickler können einem Container-Zugänglichkeitselement Textabsätze hinzufügen, VoiceOver liest jedoch möglicherweise nicht den gesamten Text im Container. Daher ist es möglich, dass Benutzer von VoiceOver sich nicht aller Texte auf dem Bildschirm bewusst sind.

Bestätigung

  1. VoiceOver aktivieren
  2. Konzentrieren Sie sich auf das Zugänglichkeitselement, das den Text enthält
  3. Eines der folgenden Ereignisse wird eintreten:
    • Nicht zugänglich: VoiceOver liest den Text nicht vor.
    • Zugänglich: VoiceOver liest den gesamten Text im Fokusfeld vor.

So beheben Sie das Problem

UIKit

Ein von dieser Regel gefundenes Problem wird durch die Verwendung des Standard-accessibilityLabel für ein Barrierefreiheitselement verursacht, das mehrere Textelemente enthält.

Um das Problem zu beheben, erzwingen Sie, dass in seinem accessibilityLabel jedes Zugänglichkeitselement, das mehrere Textelemente enthält, den gesamten sichtbaren Text hat:

let paragraphOne = UILabel()
let paragraphTwo = UILabel()
let accessibilityElement = UIView()

paragraphOne.text = "One paragraph of text about something."
paragraphTwo.text = "A second paragraph of text about something."

accessibilityElement.addSubviews([paragraphOne, paragraphTwo])

// Update the accessibility element's accessibilityLabel, so both paragraphs are read by VoiceOver.
view.accessibilityLabel = "\(paragraphOne.text) \(paragraphTwo.text)"

SwiftUI

Ein durch diese Regel in SwiftUI gefundenes Problem weist auf einen Missbrauch des Modifikators accessibilityElement zusätzlich zum Modifikator accessibilityElement(children:..) hin.

Es wird empfohlen, diese Modifikatoren in einer Gruppierungsansicht statt in einzelnen Elementen zu verwenden. Beachten Sie die unten angegebene Reihenfolge und AccessibilityChildBehavior Spezifikation.

VStack(alignment: .leading) {
    HStack {
      Text("Title:")
      book.title.map({ title in
        Text(title)
      })
    }
    HStack {
      Text("Author:")
      book.author.map({ author in
        Text(author)
      })
    }

    HStack {
      Text("Genre:")
      book.genre.map({ genre in
        Text(genre)
      })
    }
}
.accessibilityElement()
.accessibilityElement(children: .combine)

React Native

Ein von dieser Regel in React Native-Ansichten gefundenes Problem weist auf einen Missbrauch der accessible Eigenschaft und/oder der accessibilityElementsHidden Eigenschaft hin.

Wenn Sie diese Eigenschaften explizit hinzufügen, achten Sie darauf, dass sie true sind, damit der sichtbare Text für Benutzer unterstützender Technologien weiterhin verfügbar bleibt.