Lesson 10 / 25

Accessibility and Best Practices

Test components for accessibility using Storybook's a11y addon.

A11y addon overview

The a11y addon automatically checks your components for common accessibility violations like missing labels, contrast issues, and ARIA misuse.

Enabling the a11y addon

Install and configure the a11y addon in .storybook/main.ts.

import type { StorybookConfig } from '@storybook/react-webpack5';

const config: StorybookConfig = {
  stories: ['../src/**/*.stories.tsx'],
  addons: [
    '@storybook/addon-essentials',
    '@storybook/addon-a11y',
  ],
  framework: '@storybook/react-webpack5',
};

export default config;

Common accessibility patterns

Ensure components use semantic HTML, proper ARIA labels, keyboard navigation, and sufficient color contrast.

Accessible component example

Build components with proper accessibility from the start.

<button
  aria-label="Close dialog"
  onClick={onClose}
  className="focus:outline-2"
>
  ×
</button>