Re: No Accessibility for Many Status Items
Re: No Accessibility for Many Status Items
- Subject: Re: No Accessibility for Many Status Items
- From: Stephane Madrau <email@hidden>
- Date: Sat, 16 Nov 2013 20:07:06 +0100
Le 16 nov. 2013 à 18:57, email@hidden a écrit :
> On 2013 Nov 15, at 23:05, Martin Hewitson <email@hidden> wrote:
>
>> navigating works properly for … iStatMenus
>
> Ah, that’s interesting. That would make iStatMenus the first non-Apple status item that I’ve seen that was not skipped in the loop. Checking into that a little, I see that
>
> • iStatMenus is not available in the Mac App Store.
> • "iStat Menus uses MenuCracker” [1]
> • MenuCracker is “[Building] a small bundle for MacOS X 10.2 in order to support menu extras in the same way they were supported in MacOS X 10.1” [2]
>
> Does anyone know what changed in menu extras (an old name for Status Items, I guess) going from 10.1 to 10.2?
No. MenuExtras are "plugins" to the Apple SystemUIServer, which itself is managing these special plugins.
NSMenuExtra is a private implementation, a subclass of NSStatusItem, but the private interface was reverse engineered in the 10.0-10.1 era.
Apple blocked the use of the non-Apple provided MenuExtras in 10.2 by limiting it to only Apple instances, but MenuCracker did re-enable it.
There are still several non-Apple MenuExtras today, mostly because of the flexibility they bring (for example MenuExtras can be repositioned in the menu bar, or removed, with the command key, what StatusItems cannot).
If you open a StatuItem, you can navigate in its menu with the keyboard (you stay within this process alone), but not navigate to an other process (so, not to SystemUIServer).
However all MenuExtras are working "within" the SystemUIServer process, so accessbility works within it, and you can navigate from one MenuExtra item to the next.
Spotlight is also managed by SystemUIServer (but you can't navigate to it - I don't know why), but not the Notification manager.
--
Stephane
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden