2011-09-22 9 views
15

Estoy agregando soporte de VoiceOver a mi aplicación. Hasta ahora, muy bien, pero me gustaría poder especificar qué elemento es el primero que se pronuncia después de una UIAccessibilityScreenChangedNotification. No he visto una manera de hacer esto. Hacer algo, el elemento de resumen en realidad no parece hacerlo. ¿Me estoy perdiendo de algo?Selección inicial de VoiceOver

Respuesta

0

¿Qué pasa con el uso de UIAccessibilityAnnouncementNotification?

+0

Parece que sería la forma de manejar las notificaciones transitorias de Game Center: "Utilice esta notificación para proporcionar información de accesibilidad sobre eventos que no actualizan la interfaz de usuario de la aplicación o que actualizan la interfaz de usuario solo brevemente". Quiero centrarme en un elemento de IU específico. –

+0

Hmm, estoy empezando a pensar que tengo que hacer eso, aunque en realidad no es la respuesta correcta. (En algunos casos, el próximo deslizamiento sería hacia el elemento enfocado, por lo que lo volverá a escuchar.) –

+0

Otro inconveniente del uso de la notificación de anuncio cuando aparece una vista por primera vez es que su lectura a menudo se corta con la selección inicial de VoiceOver. – MusiGenesis

2

No creo que haya un valor de API que especifique un orden de lectura, que no sea el uso del valor del elemento de resumen en el inicio, es por diseño.

Así que tendría que probar el orden y el valor predeterminado para los elementos de UIKit o cualquier control personalizado, ya que depende de su diseño. También puede marcar los elementos como elementos no accesibles para que no sean "leídos", los elementos accesibles leídos por defecto y los contenedores para los elementos accesibles que le permitan controlar mejor sus interacciones previstas. No sé si será útil hacer el artículo seleccionado.

Supongo que ya está usando el Accessibility Inspector para probar su aplicación antes de probar en iOS.

Si necesita algo de información sobre el tema, puede valer la pena leer Rune's Working With VoiceOver Support y Gemmell's Accessibility for Apps.

+0

No he usado Accessibility Inspector, pero mi juego está siendo jugado por usuarios ciegos, así que esto solo se trata de cambiar el enfoque. El problema es que tocar un botón muestra un nuevo elemento de la interfaz de usuario, pero sucede que está físicamente por encima de lo que tocó, y eso es realmente un problema para deslizar. –

16

Esto siempre ha sido perfectamente posible de hacer.

Sólo tiene que escribir algo en la línea de:

- (void)viewDidAppear:(BOOL)animated 
{ 
[super viewDidAppear:animated]; 

    UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, 
           self.myFirstElement); 
} 
@end 

Esto funciona tanto para el UIAccessibilityScreenChangedNotification y la UIAccessibilityLayoutChangedNotification. Más información: http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIAccessibility_Protocol/Introduction/Introduction.html#//apple_ref/c/data/UIAccessibilityLayoutChangedNotification Y aquí: http://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/Accessibility/AccessibilityfromtheViewControllersPerspective.html#//apple_ref/doc/uid/TP40007457-CH2-SW1

+1

No creo que eso sea cierto. Al menos, se mencionó por primera vez como relevante para iOS 6. –

+0

Funciona en iOS 7. ¡Gracias! –

0

This technique trabajó para mí.

VoiceOver anunciará el valor del primer elemento en la matriz accessibleElements. Esto puede ser ordenado para satisfacer sus necesidades.

Cuestiones relacionadas