1.0.0 • Published 7 months ago

bun-axe v1.0.0

Weekly downloads
-
License
ISC
Repository
github
Last release
7 months ago

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()
  });
})
1.0.0

7 months ago