Giter Club home page Giter Club logo

acot's Introduction

acot

Accessibility Testing Framework

GitHub Workflow Status MIT LICENSE


!! THE ACOT IS STILL IN ALPHA STATUS AND MAY BE BROKEN BY THE UPGRADE !!


Overview

More accessible web, all over the world.

acot is an open-source Accessibility Testing Framework that uses headless Chrome (puppeteer) to provide means of testing any website or web app. It supports for making the Web accessible with a flexible, highly reliable rule set that leverages browser-native APIs such as the AOM and DOM.

Reliability

  • By using the results rendered by the browser, a highly reliable audit is possible.
  • acot provides original rules. In addition, it offers rules based on the proven axe.

Extensibility

  • You can use the rules published in the ESLint like plugin system.
  • It's easy to implement and publish the rule sets you need for your team.
  • The divided packages allow you to assemble a custom workflow that works best for your team.

Portability

  • You can create and publish your own configuration with Sharable Config.
  • Provides Custom Runner for integration with Storybook.

Getting Started

Install via npm:

$ npm install --save-dev @acot/cli

# or

$ npm install --save-dev @acot/cli puppeteer

You can build the configuration file and install the dependent packages with the following commands:

$ npx acot init

Running acot init command

And then, the run subcommand performs an audit based on the configuration file.

$ npx acot run

Running acot run command

See the CLI documentation for details.

Configuration

If you use acot as the CLI, you can configure the audit via configuration file.
Usually, when you create a configuration file called acot.config.js, acot will automatically use that configuration file.

The simple configuration is as follows (acot.config.js):

module.exports = {
  presets: ['@acot/wcag'],
  extends: ['preset:@acot/wcag/recommended'],
  origin: 'http://localhost:8000',
  connection: {
    command: 'npm run serve',
  },
  paths: ['/', '/path', '/path/to', '/path/to/dir'],
  rules: {
    '@acot/wcag/interactive-has-enough-size': 'warn',
    '@acot/wcag/page-has-valid-lang': 'off',
    '@example/foo/bar': [
      'error',
      {
        /* options */
      },
    ],
  },
};

See the Configuration for details.

Requirements

Documentation

Packages

acot has a feature which is divided into several packages.

Foundations

Package Version Description
@acot/core npm acot core API.
@acot/cli npm acot command line tool.
@acot/config npm A module to manipulate configs of acot.

Configs / Presets

Package Version Description
@acot/acot-config npm A basic acot rule set.
@acot/acot-preset-wcag npm A WCAG-based rule set for acot.
@acot/acot-preset-axe npm An axe rule set for acot.

Runners

Package Version Description
@acot/acot-runner npm An acot default runner.
@acot/acot-runner-sitemap npm An acot custom runner reading audit pages from sitemap.
@acot/acot-runner-storybook npm An acot custom runner for Storybook.

Reporters

Package Version Description
@acot/acot-reporter-pretty npm An acot default reporter.
@acot/acot-reporter-dot npm A dot reporter for @acot/cli.

Utilities

Package Version Description
@acot/find-chrome npm Find Chrome available in your runtime environment.
@acot/html-pickup npm Use the CSS Selector to pick up the elements from the HTML string.
@acot/schema-validator npm A simple wrapper module for schema-utils.

FAQ

T.B.A

Contributing

We are always welcoming your contribution ๐Ÿ‘

See CONTRIBUTING.md.

License

MIT ยฉ wadackel

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.