2012-04-11 2 views
12

Работа с ДоступностьДоступность Фокус

Хотя VoiceOver читает элементы в приложении в порядке, есть в любом случае смещение фокуса между элементами? Я пробовал работать с «nextResponder», но он не работает.

+1

** Bounty !! YEAH !!! ** Я хотел бы узнать (если возможно), как я могу сказать, что голос за кадром * jump * от последнего UIToolBarButton в UIToolbar до первого объекта в главном представлении, так что пользователь может * loop * через все контроль на экране бесконечно ... Возможно? – nacho4d

+0

** Редактирование: ** Последняя кнопка в UIToolbar является последним элементом управления на всем экране, поэтому нажатие VO + rightArrow ничего не делает (обычно нажатие VO + стрелка указывает на * переход * к следующему элементу управления, но поскольку это последнее, останавливается). В этом сценарии я хотел бы сказать VoiceOver * jump * первому объекту, чтобы пользователь мог бесконечно перемещаться по всем элементам управления в scree. Надеюсь, теперь лучше пояснить :) – nacho4d

ответ

0

Это выстрел в темноте, но вы пытались изменить accessibilityLabel или accessibilityHint в соответствии с тем, когда вы хотите, чтобы заказ изменился? Если вы можете обмануть VoiceOver, чтобы поверить, что текст изменился, я бы ожидал, что он изменит фокус на него соответствующим образом.

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

Моя последняя мысль состояла в том, чтобы пометить UIView, с которым вы хотите обратить внимание, с чертой доступности, отличной от UIAccessibilityTraitUpdatesFrequently. Это может быть самое близкое, что вы можете получить, не нажимая на скрытые библиотеки Apple.

3

С прошивкой 6, вы можете установить фокус на конкретный элемент с UIAccessibilityLayoutChangedNotification, передавая элемент

UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, firstBottom); 

, но если вы пытаетесь, чтобы полностью изменить «порядок табуляции» Я не знать способ сделать это.

+0

Насколько я могу видеть, что «UIAccessibilityLayoutChangedNotification» доступен из iOS 3. Что изменилось в iOS 6? –

+0

Не было документации, в которой говорилось, что вы можете передать какое-либо конкретное значение до iOS 6. И я уверен, что передача значения не принесла ничего полезного. –

+0

О, текущая документация не отражает этого. –

0

Отметьте this post, как обращаться с специальным заказом элементов для передачи голоса. Я просто использовал этот подход в приложении, над которым я работаю.

0

Я пробовал UIAccessibilityPostNotification (UIAccessibilityScreenChangedNotification, elementName);, чтобы сфокусироваться на другом элементе. Поведение состояло в том, что фокус переместился на новый элемент, но Voice Over сначала объявит название страницы, а затем доступное значение метки нового элемента.

Смежные вопросы