Get unlimited public & private packages + team-based management with npm Teams.Learn more »

@storybook/addon-a11y

5.3.13 • Public • Published

storybook-addon-a11y

This storybook addon can be helpful to make your UI components more accessible.

Framework Support

Screenshot

Getting started

First, install the addon.

$ yarn add @storybook/addon-a11y --dev

Add this line to your main.js file (create this file inside your storybook config directory if needed).

module.exports = {
  addons: ['@storybook/addon-a11y/register']
}

import the withA11y decorator to check your stories for violations within your components.

import React from 'react';
 
import { withA11y } from '@storybook/addon-a11y';
 
export default {
  title: 'button',
  decorators: [withA11y],
};
 
export const accessible = () => (
  <button>
    Accessible button
  </button>
);
 
export const inaccessible = () => (
  <button style={{ backgroundColor: 'red', color: 'darkRed', }}>
    Inaccessible button
  </button>
);

Parameters

For more customizability use parameters to configure aXe options. You can override these options at story level too.

import React from 'react';
import { storiesOf, addDecorator, addParameters } from '@storybook/react';
 
import { withA11y } from '@storybook/addon-a11y';
 
export default {
  title: 'button',
  decorators: [withA11y],
  parameters: {
    a11y: {
      // optional selector which element to inspect
      element: '#root',
      // axe-core configurationOptions (https://github.com/dequelabs/axe-core/blob/develop/doc/API.md#parameters-1)
      config: {},
      // axe-core optionsParameter (https://github.com/dequelabs/axe-core/blob/develop/doc/API.md#options-parameter)
      options: {},
    },
  },
};
 
export const accessible = () => (
  <button>
    Accessible button
  </button>
);
 
export const inaccessible = () => (
  <button style={{ backgroundColor: 'red', color: 'darkRed', }}>
    Inaccessible button
  </button>
);

Roadmap

  • Make UI accessible
  • Show in story where violations are.
  • Add more example tests
  • Add tests
  • Make CI integration possible

Install

npm i @storybook/addon-a11y

DownloadsWeekly Downloads

395,708

Version

5.3.13

License

MIT

Unpacked Size

79.6 kB

Total Files

33

Last publish

Collaborators

  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar