UIAccessibility и проблема голосового взаимодействия Apple Pay

Я замечаю какое-то странное поведение при взаимодействии приложения, специальных возможностей и Apple Pay. Если пользователь делает что-либо, чтобы закрыть лист Apple Pay при активном озвучивании, имя приложения перечитывается, когда голос за кадром восстанавливает фокус приложения, что приводит к неожиданным результатам.

Пример ситуации для дальнейшего пояснения:

  1. Пользователь пытается выполнить транзакцию с помощью Apple Pay, когда включена голосовая связь.
  2. Транзакция не удалась.
  3. Лист Apple Pay закрывается, и отображается UIAlterView с сообщением об ошибке.
  4. Закадровый голос фокусируется на представленном UIAlertView.
  5. Голос за кадром читает первые два слова сообщения alertView, затем произносит имя приложения и останавливается, игнорируя оставшийся текст сообщения alertView.

Кто-нибудь знает, как заставить закадровый текст продолжить чтение текста?


person Justin    schedule 30.12.2014    source источник


Ответы (1)


Вы можете восстановить фокус на предупреждении, своевременно выполнив UIAccessibilityPostNotification (), передавая UIAccessibilityScreenChangedNotification и элемент, на который нужно сфокусироваться.

Однако это хитрость, позволяющая обойти детали того, как VoiceOver фокусируется на вашем приложении после возврата из контроллера представления вне процесса. Пожалуйста, подумайте о том, чтобы заполнить отчет об ошибке, чтобы Apple могла найти общее решение.

person Justin    schedule 02.01.2015
comment
Эта проблема возникла из-за ошибки разработчика, которую я обнаружил при попытке реализовать предложенный вами обходной путь. Блок представлял uialertview в то же время, когда лист Apple Pay был отклонен (или просто немного до увольнения), что привело к непредвиденным последствиям в голосовом за кадре. - person Justin; 05.01.2015