VoiceOver проблема произношения: "Live "" добавить"

Я пытаюсь реализовать доступность для приложения iOS и сталкиваюсь с некоторыми нюансами и причудами.

например: У меня есть ярлык в моем приложении, который гласит: "Это живое событие." Определение live в этом контексте - "то, что происходит в настоящее время", и при произнесении оно должно рифмоваться с "пять".

однако voiceover понимает и читает слово "жить" , как в: "живи и дай умереть", и неправильно произносится рифмуя слово С "дать".

аналогично, еще одна проблема, с которой я сталкиваюсь, - это слово "добавить" в контексте "добавить выделение". Значение слова в его контексте- "добавить что-то в корзину", но произносится как "А. Д. Д. (Синдром Дефицита Внимания)"

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

5 ответов


решение-по крайней мере, для iOS 9.1 и новее - изменение капитализации слова также изменяет произношение:

  • живые рифмы с пятью
  • живу рифмуется с

Я боролся с этим на некоторое время, но я нашел простое решение... Если вы добавите еще одну букву "L" в строку "Live", она произнесет live как пять.

попробуйте это -- > "Llive"


Это два способа обойти ошибку в screenreader:

  • игнорирование: это ошибка в screenreader, а не в вашем коде

  • используя другое предложение.

Вы можете подумать об использовании aria-label чтобы обеспечить аудио альтернативу, как "это живое событие "(потому что живые рифмы с пятью) для screenreaders, но aria-label также используется дисплеем Брайля, и тогда это было бы довольно плохой идеей.


Вы можете установить accessibilityLabel метки проговаривать текст, как вы хотите.

для примера OPs:

label1.accessibilityLabel = @"This is a liv event." //notice live is spelled liv so it is pronounced for the correct context
label2.accessibilityLabel = @"add a selection"

Это также можно сделать через раскадровку / перо, выбрав метку и просмотрите "инспектор идентификации"

Identity inspector screen shot


использовать accessibilitySpeechIPANotation ключ внутри приписываемой строки, чтобы определить соответствующий фонетический звук (доступно с iOS11).