我的AppKit应用程序的NSSegmentedControl在可访问性检查器中没有显示任何标签,这意味着残疾用户将无法使用辅助设备与他们交互。在段控件上调用setAccessibilityLabel和setAccessibilitySelected没有任何影响。
关于这个主题的类似建议(例如,Disable / hide accessibility element)说要使用accessibilitySetOverrideValue,这是可行的,但不推荐:
accessibilitySetOverrideValue(_:forAttribute:)' was deprecated in macOS 10.10: Use the NSAccessibility protocol methods instead (see NSAccessibilityProtocols.h)https://developer.apple.com/documentation/objectivec/nsobject/1535843-accessibilitysetoverridevalue的苹果文档是这样写的:
This method is deprecated. Use the new method-based API instead. For more information, see Accessibility Programming Guide for OS X or NSAccessibilityProtocol.但是,似乎没有任何等效的方法来覆盖可访问性值。在不使用不推荐的方法的情况下,我如何做到这一点?
发布于 2021-04-22 09:02:23
NSSegmentedControl将获取图像的accessibilityDescription。因此,我使用的解决方案是确保我的所有分段控件都有图像,如果有必要,为每个控件创建图像的副本,显式设置accessibilityDescription,并重置图像。
丑陋,但比我找到的任何其他解决方案都要好。
https://stackoverflow.com/questions/62418291
复制相似问题