作者:mis安小米 | 来源:互联网 | 2023-05-16 11:12
iOS 8.x VoiceOver为已禁用的按钮宣布调暗而不是禁用.有没有办法以编程方式让VoiceOver说"禁用"而不是"暗淡"?
1> ChrisCM..:
有办法做你想要的,但你绝对不应该使用它们.当User Interaction Enabled
特征设置为时,会发生"Dimmed" 通知NO
.这是VoiceOver用户在屏幕上可以使用的方式,可以调整焦点但禁用的元素正在宣布.强制您的应用以其他方式运行的可访问性较差(参见WCAG 2.0指南3.2.3).
你可以做的事情,如果你想让它真正被禁用,设置isAccessibilityElement
为NO
.然后它甚至不会在VoiceOver焦点循环中.然后将其设置为YES
,当您要启用它时.但是,如果您想将其保留在焦点循环中,"Dimmed"是暂时禁用的UI元素的适当声明.
我的投票将是第一个解决方案,因为isAccessibilityElement
动态修改是动态内容的一种形式,可能需要额外的考虑因素来维护正确的可访问性(参见WCAG 2.0指南3.2.1和3.2.2).除非有很多这样的按钮,并且浏览它们是乏味的,在这种情况下,实现动态元素注意事项对于保持良好的VoiceOver可用性是值得的.