iOS:带有复选框的 UIAccessibility(配音)无法正常工作

Posted

技术标签:

【中文标题】iOS:带有复选框的 UIAccessibility(配音)无法正常工作【英文标题】:iOS: UIAccessibility (Voice Over) with checkbox is not working properly 【发布时间】:2018-10-17 14:30:36 【问题描述】:

我在复选框上使用画外音。

我在这里面临的问题是, 当用户第一次选择复选框时,它会显示“复选框已选择”(根据accessibilityLabel 设置这是正确的),但下次当用户尝试取消选择时,它会显示“复选框已选择,复选框已取消选择”它应该只说'复选框取消选中',反之亦然。

所以这里发生的情况是,之前设置的accessibilityLabel 没有被清除,当用户尝试选择或取消选择时,它会同时使用之前和当前设置的标签。

注意 - 使用自定义复选框,切换 UIButton 与选中/取消选中的图像。

如何解决这个冲突?

【问题讨论】:

【参考方案1】:

如果您通过 UIButton 项目创建您的复选框,我建议:

取消勾选按钮UIAccessibilityTraits。 首次选中复选框时提供明确提示:“双击更改值”。 感谢IBAction,在切换框时更新您的按钮辅助功能标签。

但是,最好创建一个 UIAccessibilityElement 包含您的复选框和一个描述它所指内容的标签 ⟹ 当您用一根手指double tap 这个可访问的包装器时,复选框值切换并且您的初始问题消失了.

按照这些步骤操作将提供适当的用户体验,其中没有您注意到的复选框 VoiceOver 冲突

【讨论】:

以上是关于iOS:带有复选框的 UIAccessibility(配音)无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

matlab的IO操作复习

带有不正确广告标识符 [IDFA] 使用的“无效二进制文件”

带有重力形式的复选框动态选择

带有复选框的 Android 联系人选择器

提交带有空复选框的 HTML 表单

带有复选框的 QML 组合框