OS X 10.5: Status Items created with NSStatusItem are not VoiceOver accessible

Originator:joncshea
Number:rdar://6832098 Date Originated:27-Apr-2009 07:25 PM
Status:Duplicate/5037324 Resolved:
Product:OS X Product Version:10.5.6
Classification:Bug Reproducible:Always
 
27-Apr-2009 07:25 PM Jonathan Shea:
Summary:

Items added to the System Status Bar (that is, the right section of the topmost menu bar) using the NSStatusItem API are not VoiceOver accessible. My experiment seems to indicate that only items created using the private, undocumented Apple API NSMenuExtra are VoiceOver accessible.

Steps to Reproduce:

1) Add an item to the System Status Bar using NSStatusItem. For example:

NSStatusItem *myStatusItem = [[[NSStatusBar systemStatusBar] statusItemWithLength:NSSquareStatusItemLength] retain];
// And then set the image, menu, etc

2) Activate VoiceOver (cmd-F5).
3) Use VoiceOver to bring the focus to the System Status Bar (hit VO-m twice, where “VO” means “hold ctrl and option”).
4) Use VoiceOver to attempt to select the Status Item created in step 1), for example by using VO-<arrow keys> to move the selection left and right.
5) The Status Item created in step 1) will not be selectable.
6) This developer was unable to make the Status Item accessible using any manner of subclassing or overriding of the Status Item’s view or accessibility attributes.

Expected Results:

It is expected that Status Items created using the public API will be accessible using VoiceOver.

Actual Results:

Items added to the System Status Bar using the NSStatusItem API are not VoiceOver accessible.

Workaround:
Applications can not depend on a using the Status Bar as their primary top-level UI element if they wish to be accessible to non-mouse users. As a workaround, applications can maintain a presence in the Dock (ie, do not set LSUIElement to 1). Or they can provide an alternative means of activating their top level menu, for example by launching from Spotlight, or providing a global shortcut key.

Comments

Duped at rdar://7573444


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!