A11y: Turn on a11y when VoiceControl is in use
Previously, to detect if VoiceOver was running on the Mac, we used an undocumented attribute (AXEnhancedUserInterface) that was set on the application. Unfortunately, this doesn't work with the new VoiceControl system. After discussions with Apple, they recommended that we turn on a11y whenever an AT accesses the 'accessibilityRole' property. This would work for VoiceControl, and should work with any new ATs in the future. Since this attribute is called frequently, we use 'dispatch_once' to ensure the expensive work is only done once. One disadvantage is that we can no longer turn *off* a11y when the 'AXEnhancedUserInterface' attribute is set to zero, because doing so breaks compatibility with VoiceControl. (A11y would be enabled, then quickly disabled again.) Bug: 1143047 Change-Id: I41ed07b31476cef4a04fd0f2d9c994acc9311654 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2538257Reviewed-by:Avi Drissman <avi@chromium.org> Reviewed-by:
Dominic Mazzoni <dmazzoni@chromium.org> Commit-Queue: Ian Prest <iapres@microsoft.com> Cr-Commit-Position: refs/heads/master@{#833149}
Showing
Please register or sign in to comment