mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Implement accessibility enhancements (issue #1217)
- Add new CefBrowserHost::SetAccessibilityState method for toggling accessibility state when readers are detected by the client. - Add new CefAccessibilityHandler interface for the delivery of accessibility notifications to windowless (OSR) clients. - Fix delivery of CefFocusHandler callbacks to windowless clients. - cefclient: Add example windowless accessibility implementation on Windows and macOS. - cefclient: Automatically detect screen readers on Windows and macOS.
This commit is contained in:
committed by
Marshall Greenblatt
parent
64fcfa6068
commit
816f700d3e
@@ -648,6 +648,19 @@ void RootWindowMac::OnSetLoadingState(bool isLoading,
|
||||
[back_button_ setEnabled:canGoBack];
|
||||
[forward_button_ setEnabled:canGoForward];
|
||||
}
|
||||
|
||||
// After Loading is done, check if voiceover is running and accessibility
|
||||
// should be enabled.
|
||||
if (!isLoading) {
|
||||
Boolean keyExists = false;
|
||||
// On OSX there is no API to query if VoiceOver is active or not. The value
|
||||
// however is stored in preferences that can be queried.
|
||||
if (CFPreferencesGetAppBooleanValue(CFSTR("voiceOverOnOffKey"),
|
||||
CFSTR("com.apple.universalaccess"),
|
||||
&keyExists)) {
|
||||
GetBrowser()->GetHost()->SetAccessibilityState(STATE_ENABLED);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void RootWindowMac::NotifyDestroyedIfDone() {
|
||||
|
Reference in New Issue
Block a user