Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ruslansagitov/loud

Web accessibility testing helper
https://github.com/ruslansagitov/loud

accessibility testing

Last synced: 3 months ago
JSON representation

Web accessibility testing helper

Awesome Lists containing this project

README

        

# Loud [![Build Status](https://github.com/ruslansagitov/loud/actions/workflows/test.yaml/badge.svg)](https://github.com/ruslansagitov/loud/actions/workflows/test.yaml) [![Coverage Status](https://coveralls.io/repos/ruslansagitov/loud/badge.svg)](https://coveralls.io/r/ruslansagitov/loud) [![Code Climate](https://codeclimate.com/github/ruslansagitov/loud/badges/gpa.svg)](https://codeclimate.com/github/ruslansagitov/loud)

Web accessibility testing helper

## What is it?

Loud is a JavaScript library for browser, which helps track regression
of accessibility.

Loud ships under terms of the MIT License.

## Why do I need it?

You break HTML pages on elements. Each element you can create in
different ways. For example, you can create a button like this (with
a little bit of JavaScript):

```html

```

From accessibility point of view, this is a button. Later, you decide to
change the button to something like this:

```html
Join
```

From accessibility point of view, this is also a button and both buttons
are the same.

Loud knows how elements look like from the accessibility point of view.
You can use this information to track accessibility regression of your
web pages.

## Getting Started

Get a release tarball, or clone the repository, or use [npm][] and
[browserify][], or [bower][]:

```
bower install loud --save-dev
```

Add `./dist/loud.js` to a testing page:

```html

```

Test with Loud (using [Jasmine][], for example):

```js
describe('loud', function() {
beforeEach(function() {
this.button = document.createElement('button');
this.button.innerHTML = 'Join';
document.body.appendChild(this.button);
});

afterEach(function() {
document.body.removeChild(this.button);
});

it('works', function() {
expect(loud.say(this.button)).toEqual(['Join', 'button']);
});
});
```

## Going Further

Read the full documentation on [loud.readthedocs.io][].

[npm]: "npm — A package manager for JavaScript"
[browserify]: "browserify — Browser-side require() the Node.js way"
[bower]: "Bower — A package manager for the web"
[Jasmine]: "Jasmine — Behavior-Driven JavaScript"
[loud.readthedocs.io]: "Loud Documentation"