Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mac: Dynamically enable accessibility based on VoiceOver status #1411

Merged
merged 1 commit into from
Apr 13, 2015
Merged

mac: Dynamically enable accessibility based on VoiceOver status #1411

merged 1 commit into from
Apr 13, 2015

Conversation

theojulienne
Copy link
Contributor

This PR adds extremely basic support for accessibility on OS X using VoiceOver by enabling chromium accessibility when VoiceOver is active.

Previously, any usage of VoiceOver was broken due to a patch to force Text-to-Speech to use Cmd+C to speak the selected text instead of the window title. For users using accessibility, this trapped them in the window with no child accessibility elements, giving an experience something like:
atom-shell-no-accessibility

This patch is two-fold:

  • VoiceOver is detected, and the chromium accessibility feature is enabled and disabled based on this status. A similar approach to that used in Chromium itself is used for this.
  • The TTS hack is modified to leave the chromium accessibility tree and the close/minimise/maximise buttons (but not the window title) as children of the window, rather than removing them completely.

The final result is that accessibility implementation on mac is now left up the standard HTML/web content accessibility features:
atom-shell-partial-accessibility gif

@theojulienne
Copy link
Contributor Author

Relevant to atom/atom#1691, this fixes the atom-shell part of the issue (but does nothing to make Atom itself any more accessible).

@anaisbetts
Copy link
Contributor

Can you ensure that this works on Windows as well with NVDA?

@theojulienne
Copy link
Contributor Author

This currently only touches Mac accessibility in 2 files that are Mac-only, I guess a completely separate PR would be needed to make similar changes on other platforms.

@zcbenz
Copy link
Member

zcbenz commented Apr 13, 2015

This is incredible, thanks!

zcbenz added a commit that referenced this pull request Apr 13, 2015
mac: Dynamically enable accessibility based on VoiceOver status
@zcbenz zcbenz merged commit c10b9ea into electron:master Apr 13, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants