Skip to content

Latest commit

 

History

History
 
 

chromevoxclassic

AI Screen Reader is an enchanced screen reader based on ChromeVox Classic. 
Please follow the [instruction](https://source.chromium.org/chromium/chromium/src/+/main:docs/windows_build_instructions.md) to checkout the original source code,
and then checkout this repository and replace the source code under
ui/accessibility/extensions/chromevoxclassic/

# 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.