Доступность озвучки в приложении для виртуального музыкального инструмента для iPhone?

#iphone #event-handling #accessibility #voiceover

#iPhone #обработка событий #Специальные возможности #озвучка

Вопрос:

Я получил комментарии от незрячих пользователей о том, что некоторые из моих приложений, связанных со звуком и музыкой, работают только с отключенным VoiceOver.

При включенной доступности VoiceOver на устройстве iOS возможно ли включить область касания музыкальной клавиатуры или ударной панели, чтобы при нажатии на клавишу клавиатуры или виртуальную ударную установку (и т.д.) можно было воспроизводить музыкальные звуки немедленно, вместо подсказок VoiceOver?

Простая установка UIAccessibilityTraitPlaysSound AccessibilityTrait в подвиде UIView, похоже, этого не делает. Я получаю щелчки VoiceOver вместо звуков пианино или барабана с включенным VoiceOver.

Слепой пользователь может полностью отключить VoiceOver, но тогда все остальные кнопки (выбор инструмента, настройка, справка и т.д.) и / или элементы управления больше не будут иметь поддержки VoiceOver.

Комментарии:

1. Вы уверены, в каком виде воспроизводится звук? он может запросить подпросмотр, воспроизводит ли он звук доступности, а затем перейти к суперпросмотру.

Ответ №1:

Теперь я могу ответить на свой собственный вопрос.

iOS 5 добавила новый API именно для этой цели:

 [ mySubView setAccessibilityTraits: UIAccessibilityTraitAllowsDirectInteraction ];
  

отключит VoiceOver только для этого подвида UIView, но оставит другие подвиды (другие кнопки и т.д.) Без изменений. Этот API позволяет приложению получать адаптивные обработчики прикосновений, более подходящие для управления музыкальным инструментом в указанном подвиде, даже при включенном VoiceOver и предоставлении помощи для других частей пользовательского интерфейса приложения за пределами указанного пользовательского интерфейса.

Комментарии:

1. Также убедитесь, что вы установили mySubView.isAccessibilityElement = YES;

Ответ №2:

Я не думаю, что вы, разработчик, можете отключить VoiceOver, и, как вы обнаружили, пользователям непрактично играть на инструменте с жестами, перехватывающими Voiceover.

Я думаю, что приемлемо оставить это в руках пользователя. Отключить / включить Voiceover легко, трижды нажав кнопку home, хотя по умолчанию она отключена (пользователи могут включить ее через Настройки> Общие> Специальные возможности> Трижды щелкнув Home). Включив эту опцию, пользователи могут просматривать ваш интерфейс с включенным Voiceover, затем отключать его, когда они будут готовы создавать музыку, и снова включать, когда они закончат.

Имея это в виду, вам просто нужно убедиться, что все интерактивные компоненты (например, клавиши пианино, части ударной установки) имеют значимые метки.