Here Jason Kiss has done some hard-slog testing of tree widgets: usually similar to expandable collapsed menus, you can use ARIA to show the relationships between parts of the tree and manually use Javascript to set where the focus goes as the user uses arrow keys.

He shows that right now, there are various differences between browsers and AT's handling of ARIA in trees, so it's not very stable right now. But he does have a best-choice example which bascially works with current browsers and screen readers.

In my opinion, VoiceOver not keeping the cursor in check with keyboard cursor and moving tabIndexes is indeed a bug. I would think this, combined with webkit's in-page link bug would make thing pretty hair-pulling for Mac users.

Good work Jason.