Wie bekomme ich VoiceOver, um Abschnittsetiketten in iOS anzukündigen?

8

In der iPhone-Wetter-App habe ich bei der Verwendung von VoiceOver festgestellt, dass das erste Anklopfen eines Abschnitts den Abschnitt ankündigt.

Wenn Sie zum Beispiel in iOS 9 zum ersten Mal auf ein beliebiges Element im mittleren Streifen tippen, wird "Stündliche Vorhersagen" angezeigt, bevor Sie mit der Beschreibung des Elements fortfahren, auf das Sie geklopft haben. Durch Tippen auf etwas anderes im Streifen werden keine "stündlichen Vorhersagen" angezeigt.

Wenn Sie auf etwas in der unteren Tabelle tippen, wird "Tägliche Vorhersagen" angesagt, bevor Sie das Element, auf das Sie geklopft haben, weiter beschreiben. Wenn Sie auf etwas anderes in dieser Tabelle tippen, wird "Daily Forecasts" nicht vorangestellt.

Gibt es eine einfache API, um Bereiche Ihrer App zu benennen? Oder müssen Sie das manuell tun, indem Sie den Voiceover-Cursor verfolgen und Ihr Label dynamisch ändern? (Funktioniert das überhaupt? Können Sie das AccessibilityLabel ändern, nachdem etwas angetippt wurde, aber bevor es gelesen wird?)

    
thealienisreal 20.07.2016, 21:51
quelle

2 Antworten

2

Es gibt zwei Ansätze, die ich vermute:

  1. Unterteilen der UITableViewCell und Überschreiben der AccessibilityLabel.

    %Vor%
  2. Siehe diesen Link von Apple-Dokumentation : Sie könnenAccessibilityLabel der Zelle von cellForRowAtIndexPath festlegen. Das Beispiel ist für die Wetter App selbst.

SHN 28.07.2016 13:39
quelle
0
  

Gibt es eine einfache API, um Bereiche Ihrer App zu benennen?

Es scheint, wie das am besten geeignete Referenz Apple Zugänglichkeit Programming Guide .

Und seine API, Apples UIAccessibility-Dokumentation .

Das Festlegen der Eigenschaft shouldGroupAccessibilityChildren scheint der beste Weg zu sein, um Ihr Ziel zu erreichen. Die verknüpfte API beschreibt es als

  
    

Ein boolescher Wert, der angibt, ob Voiceover sollte Gruppe zusammen die Elemente, die Kinder des Empfängers sind, unabhängig von ihrer Position auf dem Bildschirm. Wenn Sie den Wert dieser Eigenschaft auf JA auf der übergeordneten Ansicht der Elemente in den vertikalen Spalten verursacht Voiceover der App-Gruppierung zu respektieren und navigieren sie richtig.

  

Zu beachtende Punkte:

  1. Ist das Zielelement eines Zugänglichkeit Element (Sie überprüfen können, die isAccessibilityElement Eigenschaft verwenden, Standard UIKit Kontrollen und Ansichten, die das UIAccessibility Protokoll standardmäßig implementieren)?
    • Wenn dies der Fall ist, müssen Sie nur die Attribute für die Barrierefreiheit festlegen
    • Wenn nicht, müssen Sie den Wert ändern, view.isAccessibilityElement = true
  2. Die Eigenschaft accessibilityLabel identifiziert das Element
  3. Die Eigenschaft accessibilityHint beschreibt die Aktion, die von einem Element ausgelöst wird
  4. Sie können Barrierefreiheitsattribute im Storyboard
  5. festlegen
  6. Oder Sie können Barrierefreiheitsattribute in der Implementierung Ihrer Ansichtsunterklasse
  7. festlegen
Andrew Kirna 26.07.2016 23:48
quelle

Tags und Links