8000 Update VoiceOver Utility to allow VoiceOver to be controlled with AppleScript · Issue #4770 · actions/runner-images · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Update VoiceOver Utility to allow VoiceOver to be controlled with AppleScript  #4770
Closed
@cmorten

Description

@cmorten

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.

Screenshot 2021-12-19 at 16 03 54

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    0