Сегментированный сборщик удаляет доступ - PullRequest
0 голосов
/ 28 марта 2020

Я пытаюсь добавить доступ к нашему быстрому коду для целей автоматизации. Конечная цель - нажать на кнопку с уникальным идентификатором.

текущая реализация выглядит так:

var body: some View {
   NavigationView {
      ZStack {
         VStack {
            HStack{
               Picker(selection: _ , label: Text("")) {
                  Image(systemName: "list.bullet").tag().accessibility(identifier: "list")
                  Image(systemName: "square.grid.3x2.fill").tag().accessibility(identifier: "grid")

               }
               .pickerStyle(SegmentedPickerStyle())
            }
         }
      }
   }
}

Полагаю, когда .pickerStyle преобразуется в сегментированный элемент управления, а изображения становятся кнопками, xcode удаляет все признаки доступности. Консольный вывод приложения выглядит следующим образом:

 SegmentedControl, 0x60000121e4c0, {{668.0, 90.0}, {150.0, 32.0}}
        Button, 0x60000121e5a0, {{668.0, 90.0}, {74.0, 32.0}}, Selected
        Button, 0x60000121e680, {{743.0, 90.0}, {75.0, 32.0}}

В других областях Image с .accessibility (identifier: "") работает отлично, поэтому он должен иметь какое-то отношение к pickerStyle.

Я также пробовал эти атрибуты для доступности:

.accessibility(hidden: false)
.accessibility(label: "")
.accessibility(value: "")

Кто-нибудь знает, как обойти это? Чтобы в итоге отладчик мог вывести:

 SegmentedControl, 0x60000121e4c0, {{668.0, 90.0}, {150.0, 32.0}}
        Button, 0x60000121e5a0, {{668.0, 90.0}, {74.0, 32.0}}, identifier: 'list', Selected
        Button, 0x60000121e680, {{743.0, 90.0}, {75.0, 32.0}}, identifier: 'grid'
...