【问题标题】:How do I provide custom accessibility text for ios local notification content - UNNotificationContent如何为 ios 本地通知内容提供自定义辅助功能文本 - UNNotificationContent
【发布时间】:2019-07-10 18:56:31
【问题描述】:

我正在尝试为画外音用户提供自定义文本,而不是阅读正文。

例如,当前正文是 “Apple 股票 $203.03 ↑” 它读作 “Apple 股票 203 美元和 3 美分向上箭头” 但我想要读作 “Apple 股票 203 美元 3 美分绿色”

以下代码不起作用:

let content = UNMutableNotificationContent()
content.body = "Apple stock $203.03 ↑"
content.accessibilityLabel = "Apple stock two hundred three dollars and three cents in green"
content.accessibilityHint = "I am an Hint"

连提示都没有说出来。

让我知道是否有可能实现这一目标?

有没有办法在默认通知中实现这一点(通知内容扩展仅在用户展开通知后才有效)

【问题讨论】:

  • 自从我写下我的答案以来,您有没有找到任何可以删除我关于您的问题的错误报告的解决方案? ??????
  • @XLE_22 否。已创建雷达/反馈票证没有更新。并跟进了可访问性传播者,他们说这是在他们的系统/积压中,仅此而已:-(

标签: ios swift voiceover uiaccessibility unusernotificationcenter


【解决方案1】:

基于这个答案here

尝试设置accessibilityValuelike:

content.accessibilityValue = "Apple stock two hundred three dollars and three cents in green"

如果它不起作用,请尝试将accessibilityLabel 设置为您想要的值,然后将UNMutableNotificationContent 子类化以覆盖accessibilityValue 属性。

class CustomUNMutableNotificationContent: UNMutableNotificationContent {
    override public var accessibilityValue: String? {
        get { return self.accessibilityLabel }
        set { super.accessibilityValue = newValue }
    }
}

【讨论】:

  • 我刚刚在子类中看到了您打印的代码,当您覆盖 accessibilityValue 时,您将再次返回 accessibilityValue。能不能换成accessibilityLabel看看能不能用?
  • 好吧...相反,如果您覆盖 accessibilityValue 并返回文本“Apple 股票 203 美元和 3 美分绿色”而不是 accessibilityLabel,它是否正确显示?
【解决方案2】:

让我知道是否有可能实现这一目标?

实际上,你不能。 ?
我写了一个D开发者T技术S支持事件(编号731462771)苹果的回答肯定承认这是一个错误,他们无法提供解决方法。

我提交了一份题为 VoiceOver: can't change change accessibilityLabel for UNMutableNotificationContent 的错误报告,并附有参考 FB7640821,以便尽快解决此问题 (下一个 iOS 版本? ?

现在,您知道为什么不能为 iOS 本地通知内容提供自定义辅助功能文本...直到 Apple 自己修复它。 ?

【讨论】:

    猜你喜欢
    • 2023-03-06
    • 2018-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-15
    相关资源
    最近更新 更多