使用VoiceOver导航表的单元格时,VoiceOver读取的每个单元格的一部分是表中单元格的位置;例如“ foobar,第3列,第2行”。如何自定义VoiceOver文本的这一部分?
我在Swift中编写了一个类似于电子表格的自定义控件,并且表中的列以字母(“ A”,“ B”,“ C”等)而不是编号。 Numbers.app和Excel for Mac均具有字母列,并且在这些应用程序中导航单元格时,VoiceOver会读取单元格位置,例如“ E9空单元格”。
我已经使用Accessibility Inspector详细查看了Numbers和Excel,并且在任何包含与VoiceOver所读取的单元格位置相同的文本的可访问性元素上找不到任何属性值。我还研究了整个NSAccessibility
协议,并尝试覆盖所有可能相关的方法(例如accessibilityLabel()
,accessibilityTitle()
,accessibilityRoleDescription()
,accessibilityValueDescription()
,{ {1}}),实现它们以返回我希望VoiceOver读取的内容,并且没有任何运气。