ChromeVox on Desktop Linux

Starting ChromeVox

On Chrome OS, you can enable spoken feedback (ChromeVox) by pressing Ctrl+Alt+Z.
Building and running Chrome OS on Desktop Linux
To test the version of ChromeVox that runs on Chrome OS while running a desktop Linux, you can build the Chrome OS version of Chrome.

First add chromeos=1 to your GYP_DEFINES. (More info on GYP_DEFINES here)

Now build Chrome as usual, e.g.:

ninja -C out/Release chrome

If you want speech, you just need to copy the speech synthesis data files to /usr/share like it would be on a Chrome OS device:

git clone https://chromium.googlesource.com/chromiumos/platform/assets
sudo mv assets /usr/share/chromeos-assets
cd /usr/share/chromeos-assets/speech_synthesis/patts
for f in *.zip; do sudo unzip $f && rm $f; done

After you do that, just run "chrome" (e.g. out/Release/chrome) and press Ctrl+Alt+Z, and you should hear it speak! If not, check the logs.

ChromeVox Next

To test ChromeVox Next, add #chromevox_next_test to the end of any url

...for example: http://google.com#chromevox_next_test

This next-generation version is not feature-complete but it's built on a new foundation that doesn't inject any JavaScript into web contents. It has better support for things like web views in apps, web components, and more.

To run ChromeVox Next for all subsequently opened tabs and page navigations, open the ChromeVox options page by pressing Search+Shift+o, o; then, with focus in the web content, type ‘next’.

All newly opened tabs will run ChromeVox Next. The chrome of Chrome already uses ChromeVox Next to render its output by default.

Debugging ChromeVox

There are options available that may assist in debugging ChromeVox. Here are a few use cases.

Feature development

When developing a new feature, it may be helpful to save time by not having to go through a compile cycle. This can be achieved by

setting chromevox_compress_js to 0 in chrome/browser/resources/chromeos/chromevox/chromevox.gyp. Regenerate build (ninja) files with
build/gyp_chromium.
Subsequent builds will place unflattened files in the Chrome out directory (e.g. out/Release/resources/chromeos/chromevox/).

- hack directly on the copy of ChromeVox in out.

toggle ChromeVox to pick up your changes (via Ctrl+Alt+Z).

2. Fixing bugs.

One can use an external debugger that talks to the Chrome debugging protocol to poke around inside of ChromeVox’s background page. An option specifically for emacs kite works ewll. Another options is to use the built-in developer console. Go to the ChromeVox options page with Search+Shift+o, o; then, substitute the “options.html” path with “background.html”.
ChromeVox for other platforms

ChromeVox can be run as an installable extension, separate from a linux Chrome OS build.

From source

chrome/browser/resources/chromeos/chromevox/tools has the required scripts that pack ChromeVox as an extension and make any necessary manifest changes.

From Webstore

Alternatively, the webstore has the stable version of ChromeVox.


To install without interacting with the webstore UI, place the following json block in

/opt/google/chrome-unstable/extensions/kgejglhpjiefppelpmljglcjbhoiplfn.json

{

"external_update_url": "https://clients2.google.com/service/update2/crx"

}


Some useful options for Linux are as follows:


get Voxin


run chrome with: “google-chrome-unstable --enable-speech-dispatcher” and select a voice provided by the speechd package from the ChromeVox options page (ChromeVox+o, o). As of the latest revision of Chrome 44, speechd support has become stable enough to use with ChromeVox, but still requires the flag.


In the ChromeVox options page, select the flat keymap and use sticky mode (double press quickly of insert) to emmulate a modal screen reader.
Comments