【发布时间】:2021-12-22 12:05:06
【问题描述】:
当设置UILabel 的AccessibilityLabel 时,AccessibilityLabel 会通过语音播报而不是Text。但是,当设置 UITextField 的 AccessibilityLabel 时,AccessibilityLabel AND Text 会在旁白中宣布。
如何覆盖 Voice Over 公告中的 UITextField.Text?我不想宣布Text,我需要宣布其他内容,因为我的文本是日期,例如 01/10/2021,而我想宣布“2021 年 1 月 10 日”。当我设置AccessibilityLabel 时,它会宣布“2021 年 1 月 10 日 01/10/2021”。
【问题讨论】:
-
UITextField只是一个输入字段。根据 WCAG 4.1.2,屏幕阅读器应宣布名称、角色和值。您通过AccessibilityLabel听到名称,并且通过Text听到值。所以你要问的是你想要读取输入字段的标签而不是输入字段的值。那将是一件坏事。但我了解您希望读取的值与文字值不同。屏幕阅读器用户对于日期的读取方式有很多选择,应该由他们自己选择。 -
感谢您的信息,日期读取只是其中一种情况。其他一些 TextFields 有一个“/mo”,当使用画外音而不是“slash mo”时,我们需要将其宣布为“每月”。还有其他一些非常具体的案例,根据产品决策,我们需要宣布除展示内容之外的其他内容。
标签: ios xamarin.ios accessibility xib