Working on VoiceOver

I’m in the early stages of adding VoiceOver support to Bike.

Like with many aspects of Bike I’m building this “from scratch” without using many of the standard Cocoa controls. This means I have opportunity to make some different decisions from what standard Cocoa controls provide.

If you use voice over I would love to hear any suggestions you have. What would “best possible” voice over support look like in an outlining app?

Answering any of the following would help me:

  • How is it using TextEdit to read and write text? What works well and what is problematic in it’s voiceover support?

  • How is it using macOS Finder list view? What works well and what is problematic in its voiceover support?

  • What would your ideal VoiceOver support look like for an outliner app? Are there VoiceOver features that you would like to use that are not possible in existing outliner apps?

I suppose one of the distinctive features of Bike is the invisible attributes layer, which enables it to store unique ids and custom user data-key=value data (as well as rich text formatting),
and I think TextEdit can voice formatting attribute changes,
but perhaps enabling the voicing of other attribute names and values would make more sense after any style-sheet or attribute-editing UI developments, in Bike generally, if you chose to do those, later down the road ?

I definitely plan to make those rich text attributes accessible through voice over assuming API’s cooperate. So far it looks pretty strait forward in that respect. I’m less sure custom attributes will be handed, there is a custom key that looks like it can work if we are talking about inline attributes.

I’m also not certain on text editor vrs outliner for general presentation. For example do I treat outline as a TextEdit style chunk of long text. Or do I treat it as individual outline items, more like Finder list view? I’m leaning toward outliner approach, but am a little unsure. Another option is to present one way when in text mode and another way in outline mode, though that would be more work.