Chrome Release Bot (LUCI) 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
..
_locales 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
braille 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
chromevox 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
closure 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
common 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cvox2 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
extensions 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
host 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
images 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
speech_rules 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
testing 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
walkers 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
BUILD.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
README 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
manifest.json.jinja2 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago

README

# ChromeVox Classic

## Overview
ChromeVox Classic is a screen reader built utilizing only web api's available
through the use of a content script (e.g. DOM).

Over time, this project diverged from the approach taken by ChromeVox
in Chrome OS, which acts upon Chrome's intermediate accessibility api
layer. ChromeVox on Chrome OS talks to each renderering surface
through this middle accessibility layer whereas ChromeVox Classic
talks directly to a webpage DOM.

## Building
ChromeVox Classic uses the same compression script as ChromeVox for
Chrome OS. You can build it by executing

ninja -C out/Release ui/accessibility/extensions

The final extension, including all json, image, html, css, and other
assets, gets placed in

out/Release/chromevoxclassic.

The two exceptions are the ./_locales directory and third party files.
The ./_locales directory and third party files must be copied manually to
out/Release/chromevoxclassic.

These translations are no longer part of mainline ChromeVox.

#Loading and Testing
Go to chrome://extensions, and click "Load
Unpacked". Select out/Release/chromevoxclassic.

#Automated Testing
Build

ninja -C out/Release ui/accessibility/extensions:extension_tests

and run

out/Release/chromevox_tests

## Maintenance/Contributions
Tooling is minimal for this fork of ChromeVox. Much of what's available for
ChromeVox in Chrome OS
(chrome/browser/resources/chromeos/accessibility/chromevox/tools) is applicable.

## Release/Testing
Load ChromeVox Classic on at least Mac and Linux Chrome. Verify web content and
the chrome of Chrome both speak (e.g. google.com, the address bar). These two
paths are verbalized using entirely different code paths.

Once confirmed, the entire directory can be uploaded once zipped to the Chrome
webstore.

### Third party files

The extension currently depends on a shim to polyfill shadow DOM. This file is
located at ./webcomponents-bundle.js.

It is not checked into the repository, but can be obtained by building:
https://github.com/webcomponents/polyfills/
(packages/webcomponentsjs)

You can test things work by visiting any polymer app e.g.
chrome://settings

## A final note on branding

In order to further differentiate ChromeVox from ChromeVox Classic, the Classic
extension is now simply known as "Screen Reader" and scrubbed of the ChromeVox
brand.