GithubHelp home page GithubHelp logo

grateful-dev / tota11y Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jdan/tota11y

0.0 0.0 0.0 2.73 MB

an accessibility (a11y) visualization toolkit

Home Page: http://khan.github.io/tota11y/

License: MIT License

JavaScript 68.36% HTML 11.45% Handlebars 8.62% Less 11.58%

tota11y's Introduction

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

tota11y's People

Contributors

jdan avatar dependabot[bot] avatar somewhatabstract avatar dudeofprosper avatar itsjohncs avatar mcdado avatar knixeur avatar szalwia avatar mveritym avatar rileyjshaw avatar nsfmc avatar ludofischer avatar lucaspadovan avatar jeresig avatar jasonruesch avatar minimalistic avatar phanimahesh avatar ibroadfo avatar csilvers avatar bartozzz avatar azemetre avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.