# Pastebin hDCF2osD James Craig to Everyone (3:18 PM) If you're on Mac, I’m reading this from Script Editor.app > Window > Library. VoiceOver is at the bottom of the list. James Craig to Everyone (3:37 PM) Cameron Cundiff has published some of his work writing VO automation: https://www.smashingmagazine.com/2021/06/automating-screen-reader-testing-macos-autovo/ https://github.com/AccessLint/voiceover.js Michael Fairchild to Everyone (3:39 PM) I was just reading that project, James. it looks like they are issuing keyboard commands to control VoiceOver there. That seems to be in contrast to what we were just discussing. Is that correct? I'm not very familiar with applescript, so maybe I'm missing something. James Craig to Everyone (3:42 PM) It may be injecting keys via the CLI, but those would not be interpreted by VoiceOver. The VoiceOver interface used is a JavaScript bridge to the AppleScript bridge: James Craig to Everyone (3:42 PM) Then, a series of JavaScript executables manage the AppleScript instructions to navigate and capture VoiceOver announcements. For example, this script gets the last phrase from the screen reader announcements: function run() { const voiceOver = Application('VoiceOver'); return voiceOver.lastPhrase.content(); } Me to Everyone (3:45 PM) we're actually hoping to use something more like this to capture speech: https://github.com/eeejay/osx-a11y-tools/tree/master/BenchmarkSynthesizer Me to Everyone (3:45 PM) (for higher fidelity with what the user is hearing) Michael Fairchild to Everyone (3:46 PM) It looks like they are using the System Events AppleScript to send keyboard commands to VoiceOver. James Craig to Everyone (3:49 PM) Thanks for the pointer. I will investigate. Michael Fairchild to Everyone (3:51 PM) And these commands for example, all reference keycode and modifiers that are consumed by System Events https://github.com/AccessLint/screenreaders/blob/main/packages/voiceover/src/Commands.ts (again, I may be misunderstanding... just trying to better understand what's happening here and learn) James Craig https://github.com/w3c/aria-at/issues/784