Improve accessibility of OakChooser #1216
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
These commits improve VoiceOver user experience in the OakChooser. Detailed
description is in each commit's message, but here is a brief summary:
The user can now stay in the search field while using arrow down/up to browse
the search results - VoiceOver will now read the search results in such a case.
To make this more usable, I had to workaround a (supposedly) bug in the way
VoiceOver handles text field accessibility (because it seems there is no
proper NSAccessibility API that VoiceOver can use to implement a reliable
behavior).
Lastly, since the first commit uses APIs declared only in the 10.9 SDK, I raise
the SDK in the configure script. This is only a proposal as the code without
this SDK change is properly ifdef'ed to handle non-10.9 SDK.
Future work may include announcing current selected item during typing,
possibly with the number of found items.
Quick VoiceOver user summary: after showing the File or Symbol Chooser,
type the search text into the search field (which is automatically focused)
and then move through the results using arrow up and down. If you want to hear
the first result (which is not automatically spoken), first press arrow up
to hear it, then you can use arrows down/up as usual. If you want to browse
the results without entering a search string, quickly type any letter and
delete it to suppress VoiceOver information about menu command and
current window. The space before/after the search text is intentional
and needed as a workaround. Requires OS X Mavericks.
I release these patches to public domain.