Skip to content

kylemcd/bun-axe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bun-axe

Run axe a11y tests in your bun project

Install

bun add bun-axe

Usage

Note: Bun currently does not support extend.expect, so this API will be changed once it's supported. This example code is based on this workaround.

import { describe, it, expect } from 'bun:test'
import { axe, toHaveNoViolationsFn } from 'bun-axe'

describe("Test", () => {
  it("should pass a11y test", async () => {
    document.body.innerHTML = `<button>My button</button>`;
    const button = document.querySelector('button');

    expect(toHaveNoViolationsFn(await axe(button)).pass).toBe(true);
  });
})

If you run into an a11y violation, console.log(toHaveNoViolationsFn(await axe(button)).actual) can be used to see the violations. Until bun supports extend.expect there is no other great way to get this currently.

Future

Once bun supports extend.expect you can swap toHaveNoViolationsFn for toHaveNoViolations and test like this:

import { describe, it, expect } from 'bun:test'
import { axe, toHaveNoViolationsFn } from 'bun-axe'

describe("Test", () => {
  it("should pass a11y test", async () => {
    document.body.innerHTML = `<button>My button</button>`;
    const button = document.querySelector('button');

    expect(await axe(button)).toHaveNoViolations()
  });
})

About

Run axe a11y tests in your bun project

Resources

Stars

Watchers

Forks

Packages

No packages published