tota11y

an accessibility (a11y) visualization toolkit

Github星跟踪图

tota11y Build Status

An accessibility visualization toolkit

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="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

Releasing

Currently, the following steps must be made to release a new version of tota11y:

  1. Update package.json with the version number to be released.
  2. Commit the release details to the CHANGELOG.md.
    This should be list of the unique pull requests and commits that contributed to the release (see the CHANGLOG.md file for previous examples).
  3. Draft a new release for the version.
    The tag name and name of the release should be of the form v1.2.3 where 1.2.3 is the version from package.json.
  4. Login to npm with the Khan Academy credentials.
    This requires someone with appropriate privileges.
  5. Run npm publish.
    This step will run tests and pre-publish checks, then perform a production build and publish the new package to NPM.

Community Examples

Want to integrate tota11y into your site, but don't know where to start? Here are some examples from the tota11y community to inspire you:

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

主要指标

概览
名称与所有者jdan/tota11y
主编程语言JavaScript
编程语言HTML (语言数: 4)
平台
许可证MIT License
所有者活动
创建于2015-05-12 05:32:32
推送于2023-09-12 07:59:39
最后一次提交2023-05-19 01:06:39
发布数18
最新版本名称v0.2.0 (发布于 )
第一版名称0.0.1 (发布于 )
用户参与
星数5.1k
关注者数202
派生数279
提交数357
已启用问题?
问题数97
打开的问题数44
拉请求数72
打开的拉请求数16
关闭的拉请求数32
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?