Доступность для элементов управления в виде стека - PullRequest
0 голосов
/ 03 февраля 2019

У меня горизонтальный вид в стеке с кнопкой и горизонтальная метка

Когда я включаю голос, текст в этих кнопках вообще не читается.Все остальные работают нормально.

Ниже описано, как настроить мой код.Пожалуйста, руководство, как включить их.Не уверен, почему это не работает

У меня есть текст кнопки и текста метки, принимающий динамические значения

Также, если какая-либо информация, почему используется accessibilityIdentifier, действительно поможет.Я не смог найти четкого объяснения этому

self.myHorizontalStackView.isAccessibilityElement = true

//Accessibility for Button
self.submitButton.isAccessibilityElement = true
self.submitButton.accessibilityTraits = UIAccessibilityTraitStaticText
self.submitButton.accessibilityLabel = screenControls.buttonTitle

//Accessibility for Label
self.addressLabel.isAccessibilityElement = true
self.addressLabel.accessibilityTraits = UIAccessibilityTraitStaticText
self.addressLabel.accessibilityLabel = screenControls.address1

1 Ответ

0 голосов
/ 04 февраля 2019

Таким образом, проблема выглядит так, как будто она исходит от самой stackView.См. этот другой SO вопрос / ответ по теме:

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

Итак, измените свою первую строку в фрагменте, которым вы поделились, на:

self.myHorizontalStackView.isAccessibilityElement = false

, и это должно позволить VoiceOver найти подпредставления stackView.

Что касается вашего другого вопроса:

Также, если какая-либо информация, почему используется accessibilityIdentifier, действительно поможет.Я не смог найти четкого объяснения этому

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...