Что мне здесь не хватает?
Я сделал много тестов, чтобы попытаться понять это поведение, которое сводило меня с ума.
Я пришел к выводу, что если вы отправите уведомление, когда VoiceOver произносит {метку/подсказку/значение}, ваше уведомление не будет принято во внимание: может быть своего рода упреждение, когда системе необходимо озвучить атрибут сфокусированного элемент.
Вот только в конце вокализации вы можете опубликовать столько уведомлений, сколько хотите, чтобы их хорошо проанализировали и интерпретировали, как вы хотите.
Клавиша UIAccessibilitySpeechAttributeQueueAnnouncement
полезна только с вашими собственными уведомлениями, когда системе не нужно вступать во владение.
Если вы отправляете много уведомлений и пользователь щелкает, чтобы, например, сфокусироваться на новом элементе, уведомления, которые не были озвучены, будут удалены, как только система озвучит атрибуты элемента.
В этом случае, если вы поймаете событие UIAccessibilityAnnouncementDidFinish
, у вас будет ложное значение с ключом UIAccessibilityAnnouncementKeyWasSuccessful
для последнего озвученного уведомления (UIAccessibilityAnnouncementKeyStringValue
)... все последующие будут проигнорированы без информации, предоставленной наблюдателем.
Вывод . VoiceOver не учитывает персональные уведомления, когда появляется новый элемент в фокусе или уведомление об изменении экрана/макета.
Как поставить в очередь несколько уведомлений о специальных возможностях для VoiceOver?
В соответствии с тем, что было показано выше, я предлагаю настроить своего рода механизм повторных попыток, который по-прежнему будет отправлять ваши уведомления (x раз), хотя они не будут получены полностью через y секунд. например.
Это может быть сложным способом убедиться, что уведомления доставляются безупречно.
person
XLE_22
schedule
22.09.2018