diff --git a/shell/browser/mac/electron_application.mm b/shell/browser/mac/electron_application.mm index ac732190fdb80..e3c65c9eeeacb 100644 --- a/shell/browser/mac/electron_application.mm +++ b/shell/browser/mac/electron_application.mm @@ -177,36 +177,22 @@ - (void)handleURLEvent:(NSAppleEventDescriptor*)event electron::Browser::Get()->OpenURL(base::SysNSStringToUTF8(url)); } -- (bool)voiceOverEnabled { - NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; - [defaults addSuiteNamed:@"com.apple.universalaccess"]; - [defaults synchronize]; - - return [defaults boolForKey:@"voiceOverOnOffKey"]; -} - - (void)accessibilitySetValue:(id)value forAttribute:(NSString*)attribute { - // Undocumented attribute that VoiceOver happens to set while running. - // Chromium uses this too, even though it's not exactly right. - if ([attribute isEqualToString:@"AXEnhancedUserInterface"]) { - bool enableAccessibility = ([self voiceOverEnabled] && [value boolValue]); - [self updateAccessibilityEnabled:enableAccessibility]; - } else if ([attribute isEqualToString:@"AXManualAccessibility"]) { - [self updateAccessibilityEnabled:[value boolValue]]; - } - return [super accessibilitySetValue:value forAttribute:attribute]; -} - -- (void)updateAccessibilityEnabled:(BOOL)enabled { - auto* ax_state = content::BrowserAccessibilityState::GetInstance(); + // Undocumented attribute that screen reader related functionality + // sets when running. + if ([attribute isEqualToString:@"AXEnhancedUserInterface"] || + [attribute isEqualToString:@"AXManualAccessibility"]) { + auto* ax_state = content::BrowserAccessibilityState::GetInstance(); + if ([value boolValue]) { + ax_state->OnScreenReaderDetected(); + } else { + ax_state->DisableAccessibility(); + } - if (enabled) { - ax_state->OnScreenReaderDetected(); - } else { - ax_state->DisableAccessibility(); + electron::Browser::Get()->OnAccessibilitySupportChanged(); } - electron::Browser::Get()->OnAccessibilitySupportChanged(); + return [super accessibilitySetValue:value forAttribute:attribute]; } - (void)orderFrontStandardAboutPanel:(id)sender {