Работа с ДоступностьДоступность Фокус
Хотя VoiceOver читает элементы в приложении в порядке, есть в любом случае смещение фокуса между элементами? Я пробовал работать с «nextResponder», но он не работает.
Работа с ДоступностьДоступность Фокус
Хотя VoiceOver читает элементы в приложении в порядке, есть в любом случае смещение фокуса между элементами? Я пробовал работать с «nextResponder», но он не работает.
Это выстрел в темноте, но вы пытались изменить accessibilityLabel или accessibilityHint в соответствии с тем, когда вы хотите, чтобы заказ изменился? Если вы можете обмануть VoiceOver, чтобы поверить, что текст изменился, я бы ожидал, что он изменит фокус на него соответствующим образом.
Сроки будут сложной частью, так как она не отображается, есть какие-либо ответные вызовы делегатов, когда VoiceOver сканирует ваше представление, поэтому вам, возможно, придется оценить время прохождения, прежде чем пытаться обновить подсказку/значение доступности ,
Моя последняя мысль состояла в том, чтобы пометить UIView, с которым вы хотите обратить внимание, с чертой доступности, отличной от UIAccessibilityTraitUpdatesFrequently
. Это может быть самое близкое, что вы можете получить, не нажимая на скрытые библиотеки Apple.
С прошивкой 6, вы можете установить фокус на конкретный элемент с UIAccessibilityLayoutChangedNotification
, передавая элемент
UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, firstBottom);
, но если вы пытаетесь, чтобы полностью изменить «порядок табуляции» Я не знать способ сделать это.
Насколько я могу видеть, что «UIAccessibilityLayoutChangedNotification» доступен из iOS 3. Что изменилось в iOS 6? –
Не было документации, в которой говорилось, что вы можете передать какое-либо конкретное значение до iOS 6. И я уверен, что передача значения не принесла ничего полезного. –
О, текущая документация не отражает этого. –
Отметьте this post, как обращаться с специальным заказом элементов для передачи голоса. Я просто использовал этот подход в приложении, над которым я работаю.
Я пробовал UIAccessibilityPostNotification (UIAccessibilityScreenChangedNotification, elementName);, чтобы сфокусироваться на другом элементе. Поведение состояло в том, что фокус переместился на новый элемент, но Voice Over сначала объявит название страницы, а затем доступное значение метки нового элемента.
** Bounty !! YEAH !!! ** Я хотел бы узнать (если возможно), как я могу сказать, что голос за кадром * jump * от последнего UIToolBarButton в UIToolbar до первого объекта в главном представлении, так что пользователь может * loop * через все контроль на экране бесконечно ... Возможно? – nacho4d
** Редактирование: ** Последняя кнопка в UIToolbar является последним элементом управления на всем экране, поэтому нажатие VO + rightArrow ничего не делает (обычно нажатие VO + стрелка указывает на * переход * к следующему элементу управления, но поскольку это последнее, останавливается). В этом сценарии я хотел бы сказать VoiceOver * jump * первому объекту, чтобы пользователь мог бесконечно перемещаться по всем элементам управления в scree. Надеюсь, теперь лучше пояснить :) – nacho4d