最近在做ios密码控件的盲人模式适配,反馈旁白在部分机型上异常。具体表现为
- 在ios15上表现为单击键盘按钮,正常朗读对应字符。双击键盘按钮,再次朗读对应字符并输入。
- 在ios13上,单击键盘按钮,正常朗读对应字符。双击键盘按钮,朗读“one”并输入。
- 在ios10上,单击键盘按钮,正常朗读对应字符。双击键盘按钮,朗读“项目符号”并输入。
其余版本未进行测试。
一步步排查,发现输入框继承自 UItextField
并自定义了圆点替代默认密码字符,并且开启了SecureTextEntry
。
关闭SecureTextEntry
后,各系统上表现正常。
进一步排查发现,输入框会朗读最新输入的那个字符。自定义圆点 就这样被系统读出来了。
设置输入框的 accessibilityValue为空即可。