VoiceOver宣布按钮变暗而不是禁用

Gra*_*hee 3 mobile accessibility ios voiceover ios8

iOS 8.x VoiceOver为已禁用的按钮宣布调暗而不是禁用.有没有办法以编程方式让VoiceOver说"禁用"而不是"暗淡"?

Chr*_*sCM 6

有办法做你想要的,但你绝对不应该使用它们.当User Interaction Enabled特征设置为时,会发生"Dimmed" 通知NO.这是VoiceOver用户在屏幕上可以使用的方式,可以调整焦点但禁用的元素正在宣布.强制您的应用以其他方式运行的可访问性较差(参见WCAG 2.0指南3.2.3).

你可以做的事情,如果你想让它真正被禁用,设置isAccessibilityElementNO.然后它甚至不会在VoiceOver焦点循环中.然后将其设置为YES,当您要启用它时.但是,如果您想将其保留在焦点循环中,"Dimmed"是暂时禁用的UI元素的适当声明.

我的投票将是第一个解决方案,因为isAccessibilityElement动态修改是动态内容的一种形式,可能需要额外的考虑因素来维护正确的可访问性(参见WCAG 2.0指南3.2.1和3.2.2).除非有很多这样的按钮,并且浏览它们是乏味的,在这种情况下,实现动态元素注意事项对于保持良好的VoiceOver可用性是值得的.