Доступность iOS - Изменить AccessibilityElements Скрыто без промедления?
Я работаю над представлением, в котором определенные элементы будут удалены и повторно добавлены как доступные элементы в зависимости от состояния представления. Я смог успешно достичь желаемой функциональности, установив AccessibilityElementsHidden
переключить состояние.
Тем не менее, я обнаружил, что существует небольшая пауза (~1-2 секунды) между этим полем, устанавливаемым перед обновлением макета доступности, что может позволить пользователю выделить деактивированный элемент доступности, если они движутся с приемлемой скоростью. Если они сосредоточены на элементе, так как он отключен, это затрудняет переориентацию в интерфейсе VoiceOver.
Я нашел способы немедленно обновить отображение интерфейса (с помощью SetNeedsLayout()
а также LayoutIfNeeded()
в основном потоке), но, к сожалению, это не запускает обновление Accessibility Layout.
Я также пытался использовать UIAccessibilityPostNotification.LayoutChanged
но нравится смена AccessibilityElementsHidden
свойство, это также требует времени, чтобы распространиться на представление.
Может ли кто-нибудь дать некоторое представление о том, что мне нужно сделать, чтобы убедиться, что пользователь не может поставить себя в плохое состояние до применения Accessible Layout?