2012-05-18 11 views
11

Jestem w trakcie udostępniania mojej aplikacji na iOS i prawie skończyłem. Moja aplikacja zawiera kilka niestandardowych przejść między ekranami, a gdy VoiceOver jest włączony, wydaje się, że wybiera po lewej stronie skrajny lewy element, by opisać go po przejściu, lub od czasu do czasu element losowy. UIAccessibilityTraitSummaryElement wyglądał obiecująco, ale jak rozumiem, działa tylko wtedy, gdy aplikacja jest uruchomiona, a nie po arbitralnych przejściach.VoiceOver: wymuszenie wyboru elementu dostępności po przejściu ekranu

Wygląda na to, że nie ma cechy lub właściwości dostępności, aby określić preferowaną kolejność, w której elementy mają przypisaną ostrość VoiceOver. Czy jest jakiś sposób na ustawienie ostrości VoiceOver?

Odpowiedz

13

EDIT: iOS 6 jest już dostępny, a jak wspomniano przez kevboh, można przekazać argument podczas księgowania UIAccessibilityLayoutChangedNotification lub UIAccessibilityScreenChangedNotification:

UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, myAccessibilityElement); 

myAccessibilityElement będzie w większości przypadków UIView z isAccessibilityElement ustaw na TAK (wartość domyślna dla wielu widoków).

Alternatywnie można dodać nową cechę dodaną w iOS6 UIAccessibilityTraitHeader do swoich elementów dostępności "accessibilityTraits, które powinny mieć ten sam wynik (chociaż jeszcze tego nie przetestowałem).

oryginalny: Jest nowy API w iOS 6, które nie mogą być omawiane tutaj, ponieważ jest wciąż pod NDA, ale można znaleźć w „dostępność dla iOS” video z WWDC 2012 (Session 210).

przeciwnym razie jednak obejście może być ręcznie wywołać zapowiedź aby zastąpić domyślny koncentruje dostępności etykiety ogłoszenia:

UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, @"Your text"); 
+0

oglądałem film Sesja ostatniej nocy, że API wygląda idealnie. Dzięki! Dla tych, którzy szukają wyjaśnienia na temat wideo, pojawia się około 26:33 w Sesji 210 - Dostępność dla iOS. – kevboh

+0

Skomentuję tutaj ponownie, gdy interfejs API stanie się publiczny. – kevboh

+4

Teraz, gdy iOS 6 jest publiczny: możesz przekazać element dostępności po opublikowaniu "UIAccessibilityLayoutChangedNotification" lub "UIAccessibilityScreenChangedNotification" jako drugi argument do 'UIAccessibilityPostNotification', a VoiceOver skoncentruje się na tym elemencie. – kevboh