Description
Tool name
VoiceOver Utility
Tool license
Copyright © 2005-2017 Apple Inc. / Unknown
Add or update?
- Add
- Update
Desired version
Version 10 / All
Approximate size
No response
Brief description of tool
VoiceOver is a screen reader system application that provides auditory descriptions of elements help you easily navigate your screen with keyboard or gestures.
You can configure VoiceOver through the system application VoiceOver Utility.app
. One such option is a checkbox Allow VoiceOver to be controlled with AppleScript
which allows the user to use AppleScript scripts to automate VoiceOver tasks. (Reference: https://support.apple.com/en-gb/guide/voiceover/cpvougen/mac).
This feature request is to enable this option for the macos virtual environments.
URL for tool's homepage
https://support.apple.com/en-gb/guide/voiceover/welcome/mac
Provide a basic test case to validate the tool's functionality.
#!/bin/bash
test -f "/private/var/db/Accessibility/.VoiceOverAppleScriptEnabled" && echo "VoiceOver AppleScript Control Enabled"
Virtual environments affected
- Ubuntu 18.04
- Ubuntu 20.04
- macOS 10.15
- macOS 11
- Windows Server 2016
- Windows Server 2019
- Windows Server 2022
Can this tool be installed during the build?
I'm currently uncertain if you can set this option programatially...
From what I can tell, whether this is enabled or not is driven by the presence of a /private/var/db/Accessibility/.VoiceOverAppleScriptEnabled
file (containing the single character a
- as determined by digging into VoiceOver Utility / ScreenReaderCore.framework), but this directory has SIP so writing the file I'm assuming is a no-go (disabling SIP not an option).
It also appears trying to import a .voprefs
file with the SCREnableAppleScript
key set to true is simply ignored.
Attempts to UI script the clicking of the checkbox appears to just being doing nothing in GitHub actions for macos-11 or macos-10.15 envs, and screenshots of the final state look like nothing has happened at all (checkbox remains unchecked, no sign of SecurityAgent popup window etc.). Attempts locally (on Monterey) work fine though require password entry through the SecurityAgent dialog. Curiously starting VoiceOver Utitlity using sudo
results in similar behaviour to what is observed (afaik) on the virtual envs. i.e.
sudo /System/Applications/Utilities/VoiceOver\ Utility.app/Contents/MacOS/VoiceOver\ Utility 2&> /dev/null &
Would be very curious to know if there is anything that can be done to have this option enabled for the virtual envs. Atm struggling to see a way past other than disable SIP, enable the option by adding the file to the protected directory, and then re-enable SIP. I suspect this isn't an option for security reasons + faff of trying to deal with the recovery mode etc.
Tool installation time in runtime
No response
Are you willing to submit a PR?
No response