Как добавить доступность VoiceOver к значку значка значка приложения?
Вопрос:
Как добавить пользовательскую доступность VoiceOver Label
или Hint
в приложение Значок Значок номер?
![введите описание изображения здесь]()
Например, когда iOS Setting Accessibility > VoiceOver
повернут On
, VoiceOver читает громкие предметы, затронутые на экране. Для значков в App Store и Mail вслух читается следующее:
Значок App Store, VoiceOver говорит: "Магазин приложений. доступно 2 обновления. Дважды нажмите, чтобы открыть."
Значок почты, VoiceOver говорит: "Почта. 1 непрочитанное сообщение. для открытия."
Но, для проекта, над которым я работаю, чтение VoiceOver является общим и не совсем полезным:
Мой значок приложения, VoiceOver говорит: "Мое приложение. 123 новых элемента. открыто".
Фраза "... новые элементы" слишком неопределенная, неточна, и я уверен, что должен быть способ изменить ее с помощью настраиваемой строки, чтобы она лучше читалась с помощью настройки a accessibilityLabel
, accessibilityHint
или что-то подобное.
Но как именно в коде Swift?
Большое спасибо.
Дополнительное наблюдение:
Используя Инспектор доступности специальных возможностей, появляются значения VoiceOver от Label
- "Мое приложение" и Value
- "123 новых элемента". Так что обновленный в коде, который я пробовал, установил accessibilityValue
на что-то пользовательское - "123 custom description.". Но все равно не повезло, VoiceOver продолжает читать "Мои приложения. 123 новые элементы. Дважды нажмите, чтобы открыть."
Почему VoiceOver не читает значение пользовательского значка, как ожидалось?
![введите описание изображения здесь]()
Код:
В приведенном ниже методе добавлен значок значка значка значка красного знака в значок "Мой приложение":
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let badgeCount: Int = 123
let application = UIApplication.sharedApplication()
if #available(iOS 8.0, *) {
//// iOS 8, iOS 9, iOS 10
application.registerUserNotificationSettings(UIUserNotificationSettings(forTypes: [.Badge], categories: nil))
} else {
//// iOS 7
}
application.applicationIconBadgeNumber = badgeCount
application.accessibilityValue = "123 custom description."
}
}
Ответы
Ответ 1
Кажется, это функция "только для Apple" на данный момент... источник
Копаясь в документации по API, похоже, нет идентификатора, который может установить это для вас, и поэтому я считаю, что он еще не публично поддерживается. Вероятно, это уже сообщалось, но сообщить об этом в качестве запроса Apple не повредить.
Жаль, что это, вероятно, не тот ответ, на который вы надеялись!:/