使用自定义视图时如何为菜单项指定可访问性属性值?

Dan*_*ien 5 cocoa objective-c nsmenuitem uiaccessibility

我正在编写一个NSMenuItem我想让它访问的自定义视图。当我不覆盖时accessibilityIsIgnored(因此返回NSView默认值YES),我在 Accessibility Inspector 中看到AXMenuItem使用自定义视图的菜单项的可访问性层次结构中有一个基本对象,但它缺少菜单项的大部分必需属性例如“标题”:

无障碍功能检查器在 AXMenuItem 无障碍功能对象上锁定的屏幕截图,当忽略无障碍功能时

所需的属性对于不使用自定义视图菜单项设置。

当我覆盖accessibilityIsIgnoredreturn 时NO,这会导致一个额外的辅助功能对象被添加到层次结构中(默认情况下是一个AXUnknown对象):

在不忽略辅助功能时,辅助功能检查器锁定在 AXMenuItem 对象下的 AXUnknown 辅助功能对象上的屏幕截图

由 的覆盖返回的属性值accessibilityAttributeValue:应用于AXUnknown下的此对象AXMenuItem,而不是应用于AXMenuItem对象本身的所需效果。

如何为菜单项提供缺失的属性值?