2016-10-07 4 views
15

Вопрос:Как добавить доступность VoiceOver к значку значка значка приложения?

Как добавить пользовательский VoiceOver доступность Label или Hint на номер App значок значок?

enter image description hereenter image description hereenter image description here


Например, когда IOS Настройка Accessibility > VoiceOver повернута On, VoiceOver читает вслух пункты прикоснулся на экране. Для значков App Store и почта, следующие зачитывает вслух:

значок

App Store, VoiceOver говорит: "App Store 2 обновления доступны Дважды нажмите, чтобы открыть.."

значок Почта, VoiceOver говорит: ". Почта 1 непрочитанное сообщение Дважды нажмите открыть."

Но, для проекта я работаю, то VoiceOver зачитывает является общим и не совсем полезно:

значок My App, VoiceOver говорит: «My App. 123 новинки. Двойной кран до открыт. "

Фраза «... новые пункты» является слишком расплывчатым, не точны, и я уверен, там должен быть способ, чтобы изменить это с помощью пользовательской строки, чтобы сделать его лучше читать с помощью установив accessibilityLabel, accessibilityHint или что-то подобное.

Но как именно в Swift-коде?

Большое спасибо.


Дополнительное наблюдение:

Используя имитатор Accessibility инспектор, по-видимому значения VoiceOver происходят из Label - "My App" и Value - "новые пункты 123". Так что обновленный код, который я пробовал установить accessibilityValue на что-то пользовательское - «123 пользовательского описания.». Но все равно не повезло, VoiceOver продолжает читать «Мое приложение. 123 новинки. Дважды нажмите, чтобы открыть».

Почему VoiceOver не считывает значение пользовательского значка, как ожидалось?

enter image description here


Код:

Ниже метод добавляет красный круг App Icon знак Номер пиктограмме My приложения:

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." 
    } 
} 

ответ

5

Он появляется это " Apple-only "на данный момент ... source

Копаясь в документации по API, похоже, нет идентификатора, который может установить это для вас, и поэтому я считаю, что он еще не публично поддерживается. Вероятно, это уже было сообщено, но сообщать об этом в качестве запроса к Apple никогда не повредит.

Извините, это, вероятно, не тот ответ, на который вы надеялись! :/

+0

Спасибо, @BHendricks. Да, я недавно встретил этот список рассылки. Беседа довольно старая, хотя несколько месяцев стесняются двухнедельного разговора. Возможно, и, возможно, чрезмерно оптимистично, я убежден, что на сегодняшний день все еще может быть решение. По-моему, это слишком большой надзор. В духе того, чтобы приложения были доступны для всех, я продолжу поиск. Хорошая идея, я отправлю запрос технической поддержки с Apple и отчет об ошибке. – user4806509

+1

Обновление: я связался с Apple, и они вернулись ко мне, и, как вы уже упоминали, они подтвердили, что в настоящее время они не имеют API, которые могут сделать то, что я хочу достичь в этом вопросе. Это один из сообщений об ошибках! – user4806509