@sa11y/test-utilsPrivate package providing test utilities, mock data, and common testing patterns for @sa11y packages.
import { beforeEachSetup, domWithA11yIssues, domWithNoA11yIssues } from '@sa11y/test-utils';
import { registerSa11yMatcher } from '@sa11y/jest';
beforeAll(() => {
registerSa11yMatcher();
});
beforeEach(() => {
beforeEachSetup();
});
describe('...', () => {
it('...', async () => {
document.body.innerHTML = domWithNoA11yIssues;
await expect(document).toBeAccessible();
document.body.innerHTML = domWithA11yIssues;
await expect(document).not.toBeAccessible();
});
});
The package provides pre-built DOM fixtures for testing:
import {
domWithA11yIssues,
domWithNoA11yIssues,
htmlFileWithA11yIssues,
htmlFileWithNoA11yIssues,
} from '@sa11y/test-utils';
// DOM strings with known accessibility issues
document.body.innerHTML = domWithA11yIssues;
// DOM strings with no accessibility issues
document.body.innerHTML = domWithNoA11yIssues;
// HTML file paths for testing with browser environments
await browser.url(htmlFileWithA11yIssues);
For WebdriverIO integration testing:
import { beforeEachSetupWdio, cartesianProduct, audioURL, videoURL } from '@sa11y/test-utils';
describe('WDIO tests', () => {
beforeEach(() => {
beforeEachSetupWdio();
});
// Use media URLs for testing audio/video accessibility
// Use cartesianProduct for generating test combinations
});
The package includes various test data and utilities: