【问题标题】:How to add VoiceOver accessibility to an App's Icon Badge Number?如何将 VoiceOver 辅助功能添加到应用的图标徽章编号?
【发布时间】:2016-10-07 17:05:46
【问题描述】:

问题:

如何将自定义 VoiceOver 辅助功能 LabelHint 添加到应用程序 图标徽章编号?

                    


例如,当 iOS 设置 Accessibility > VoiceOver 变为 On 时,VoiceOver 会大声朗读屏幕上触摸的项​​目。对于 App Store 和 Mail 图标,大声读出以下内容:

App Store 图标,VoiceOver 说:“App Store。2 个可用更新。 双击打开。”

邮件图标,VoiceOver 说:“邮件。1 条未读消息。点按两次 打开。”

但是,对于我正在进行的项目,VoiceOver 读出的内容是通用的,并不完全有帮助:

我的应用程序图标,VoiceOver 说:“我的应用程序。123 个新项目。点按两次即可 打开。”

短语 "... new items" 太模糊,不准确,我敢肯定一定有办法用自定义字符串来改变它通过设置accessibilityLabelaccessibilityHint 或类似的东西使其阅读效果更好。

但是在 Swift 代码中到底如何呢?

非常感谢。


补充观察:

使用 Simulator Accessibility Inspector,VoiceOver 值似乎来自 Label - “我的应用”和 Value - “123 个新项目”。因此在代码中进行了更新,我尝试将accessibilityValue 设置为自定义 - “123 自定义描述”。但仍然没有运气,VoiceOver 继续阅读“我的应用程序。123 个新项目。点按两次即可打开。”

为什么 VoiceOver 没有按预期读取自定义徽章值?


代码:

下面的方法在My App的图标上添加一个红色圆圈的App Icon Badge Number:

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

【问题讨论】:

    标签: ios swift optimization accessibility uiaccessibility


    【解决方案1】:

    目前看来,这是一项“仅限 Apple”的功能...source

    通过 API 文档挖掘,似乎没有任何标识符可以为您设置这个,因此我认为它还没有得到公开支持。可能已经报告过了,但将其作为请求报告给 Apple 永远不会有坏处。

    抱歉,这可能不是您希望的答案! :/

    【讨论】:

    • 谢谢你,@BHendricks。是的,我最近也看到了那个邮件列表。不过,这次谈话已经相当老了,比两年前的谈话还差几个月。也许,而且可能过于乐观,我相信到今天仍然有解决方案。在我看来,这似乎是一个太大的疏忽。本着让每个人都可以访问应用程序的精神,我将继续搜索。好主意,我将向 Apple 提交技术支持请求并报告错误。
    • 更新:我联系了 Apple,他们回复了我,正如你提到的,他们确认他们目前没有公开 API 来做我想要在问题中实现的目标。这是一个错误报告!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-31
    • 1970-01-01
    • 2013-07-04
    • 2021-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多