voz solo para over nada hacer habla desbloquear desactivar deja control ciegos apple activado iphone event-handling accessibility music voiceover

solo - Accesibilidad de VoiceOver en una aplicación de iPhone de instrumento musical virtual?



voice over iphone desactivar (2)

Recibí comentarios de usuarios ciegos de que algunas de mis aplicaciones relacionadas con sonido y música solo funcionan con VoiceOver desactivado. ¿Es esto común y / o aceptable?

Con la accesibilidad de VoiceOver habilitada en un dispositivo iOS, es posible habilitar un teclado musical o área táctil de batería para que los sonidos musicales puedan reproducirse inmediatamente, en lugar de las indicaciones de VoiceOver, cuando se toca una tecla del teclado o un conjunto de batería virtual (etc.) ? Simplemente configurar el UIAccessibilityTraitPlaysSound AccessibilityTrait en una subvista de UIView parece no hacerlo. Recibo un clic de VoiceOver en lugar de sonidos de piano o percusión con VoiceOver habilitado.

Un usuario ciego puede desactivar VoiceOver por completo, pero luego todos los demás botones (Selección de instrumento, Configuración, Ayuda, etc.) y / o controles ya no tendrán asistencia de VoiceOver.


No creo que sea posible que el desarrollador desactive VoiceOver, y como ha descubierto, no es práctico que los usuarios toquen un instrumento con gestos de interceptación de VoiceOver.

Creo que es aceptable dejar esto en manos del usuario. Es fácil activar / desactivar Voiceover tocando tres veces el botón de inicio, aunque está desactivado de manera predeterminada (los usuarios pueden activarlo a través de Configuración> General> Accesibilidad> Triple clic en Inicio). Con esa opción activada, los usuarios pueden explorar su interfaz con Voiceover activado, luego alternar cuando estén listos para hacer música y volver a activarla cuando terminen.

Con esto en mente, solo necesita asegurarse de que todos los componentes interactivos (por ejemplo, teclas de piano, partes del kit de batería) tengan etiquetas significativas.


Ahora puedo responder mi propia pregunta.

iOS 5 tiene una nueva API agregada exactamente para esta necesidad:

[ mySubView setAccessibilityTraits: UIAccessibilityTraitAllowsDirectInteraction ];

desactivará VoiceOver solo para esa subvista UIView, pero no afectará otras subvistas (otros botones, etc.). Eso permite que una aplicación obtenga manejadores táctiles receptivos más adecuados para introducir un instrumento musical para la subvista especificada, incluso con VoiceOver habilitado y proporcionando asistencia para otras partes de la interfaz de usuario de la aplicación fuera de la subvista especificada.