MCPcopy
hub / github.com/jdan/tota11y

github.com/jdan/tota11y @v0.2.0 sqlite

repository ↗ · DeepWiki ↗ · release v0.2.0 ↗
96 symbols 148 edges 24 files 14 documented · 15%
README

tota11y Build Status

An accessibility visualization toolkit

tota11y logo

Try tota11y in your browser, or read why we built tota11y.

Installation

npm install @khanacademy/tota11y

Include it right before </body> like so:

<script src="https://github.com/jdan/tota11y/raw/v0.2.0/tota11y.min.js"></script>

Development

Want to contribute to tota11y? Awesome! Run the following in your terminal:

git clone https://github.com/Khan/tota11y.git
cd tota11y/
npm install

Architecture Overview

Most of the functionality in tota11y comes from its plugins. Each plugin gets its own directory in plugins/ and maintains its own JavaScript, CSS, and even handlebars. Here's what the simple LandmarksPlugin looks like.

plugins/shared/ contains a variety of shared utilities for the plugins, namely the info-panel and annotate modules, which are used to report accessibility violations on the screen.

index.js brings it all together.

tota11y uses a variety of technologies, including jQuery, webpack, babel, and JSX. There's no need to know all (or any!) of these to contribute to tota11y, but we hope tota11y is a good place to learn something new and interesting.

Testing

You can run unit tests on tota11y with the following:

npm test

Or lint with:

npm run lint

To perform manual testing as you work, you can run a live dev-server with the following:

npm start

Building

To create a development build as the test server uses:

npm run build:dev

To create a production build, with minified and unminified output:

npm run build:prod

Special thanks

Many of tota11y's features come straight from Google Chrome's Accessibility Developer Tools. We use this library heavily at Khan Academy.

The awesome glasses in our logo were created by Kyle Scott and are licensed under CC BY 3.0.

License

MIT License

Core symbols most depended-on inside this repo

run
called by 16
plugins/labels/index.js
error
called by 7
plugins/base.js
_tag
called by 4
plugins/headings/index.js
_addTab
called by 3
plugins/shared/info-panel/index.js
summary
called by 2
plugins/base.js
render
called by 2
plugins/base.js
deactivate
called by 2
plugins/base.js
addError
called by 2
plugins/contrast/index.js

Shape

Method 56
Class 20
Function 20

Languages

TypeScript100%

Modules by API surface

plugins/base.js11 symbols
plugins/shared/info-panel/index.js10 symbols
plugins/headings/index.js10 symbols
plugins/shared/annotate/index.js8 symbols
plugins/link-text/index.js8 symbols
plugins/contrast/index.js8 symbols
plugins/labels/index.js7 symbols
plugins/alt-text/index.js7 symbols
plugins/landmarks/index.js6 symbols
plugins/a11y-text-wand/index.js6 symbols
index.js6 symbols
plugins/shared/audit.js4 symbols

Dependencies from manifests, versioned

accessibility-developer-tools2.11.0 · 1×
autoprefixer6.5.3 · 1×
babel6.23.0 · 1×
babel-core6.26.3 · 1×
babel-loader7.1.5 · 1×
babel-preset-env1.7.0 · 1×
babel-preset-react6.24.1 · 1×
clean-webpack-plugin2.0.1 · 1×
css-loader2.1.1 · 1×
eslint5.15.2 · 1×
handlebars4.1.2 · 1×
handlebars-loader1.7.1 · 1×

For agents

$ claude mcp add tota11y \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact