Обычно VoiceOver
правильно читает веб-содержимое, загруженное с помощью WKWebView
, и можно читать кнопки и ссылки.
Однако когда я добавил WKWebView
в UITableViewCell
и отобразил в UITableVIew
, VoiceOver
не смог его распознать.
Согласно документу tableview от Apple, чтобы каждый контент на UITableViewCell
распознавался VoiceOver
отдельно, необходимо установить isAccessibilityElement
ячейки в false и установить isAccessibilityElement
of view, чтобы он распознавался как истинный.
но если для isAccesibilityElement
ofWKWebView
установлено значение true, само представление сфокусировано, и мы не можем распознать внутреннее веб-содержимое.
Кроме того, когда VoiceOver
был включен в первый раз после загрузки веб-содержимого, он проявлял странное поведение: веб-содержимое можно было распознать.
Я заподозрил проблему с VoiceOver
синхронизацией распознавания контента, попробовал запустить
UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, nil)
or
UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, nil)
после загрузки веб-контента, но не получил хорошего результата.
Есть ли хороший способ обрабатывать содержимое wkwebview
с tableView
по VoiceOver
?
isAccessibilityElement = false
для ячейки, чтобы установить доступность для отдельных элементов в ячейке. Кроме того, если для isAccessibilityElement WKWebView установлено значение true, фокусируется сам WebView, а не сам веб-контент. Это нежелательный результат. - person mrqb335   schedule 16.11.2017