Изменить порядок элементов доступности UINavigationItem - PullRequest
0 голосов
/ 30 марта 2020

У меня есть UINavigationBar, который содержит 3 части: titleView (который является UISearchBar) leftBarButtonItems rightBarButtonItems

, когда голос за кадром включен, панель поиска будет первой, которая будет сфокусирована. который не подтвержден в порядке слева направо, с которым мы знакомы.

Я попытался установить accessibilityElements элемента UINavigationItem, но он все равно сначала выделит строку поиска. предположим, потому что внутри UINavigationItem, titleView является первым подвидом.

любые идеи о том, как изменить порядок, спасибо ~

enter image description here

1 Ответ

1 голос
/ 31 марта 2020

Есть идеи, как изменить порядок?

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

Я создал пустой проект следующим образом: enter image description here

Фрагмент кода, приведенный ниже, является примером добавления панели поиска в качестве заголовка: ?

class SearchViewController: UIViewController, UISearchBarDelegate {

    override func viewDidLoad() {
        super.viewDidLoad()

        let search = UISearchBar()
        search.showsCancelButton = true
        search.delegate = self

        self.navigationItem.titleView = search
    }
}

Результат при включенной VoiceOver приводит к следующим снимкам экрана: enter image description here

Следуя этому обоснованию, у вас есть первоначальный порядок чтения VoiceOver слева направо в панель навигации . 10

Предлагаю взглянуть на этот сайт , если требуется дополнительная информация о a11y в панели навигации и особенно, если вы хотите указать c порядок чтения. ?

...