Testing With Playwright
The AudioEye Accessibility Testing SDK Playwright Library gives you the ability to write Playwright tests to test for accessibility issues in your web application.
Pre-requisites
Visit the Getting Started page to learn how to setup Playwright in your project.
Usage
Use the SDK to test for accessibility issues.
- Using your fixtures
- Using AudioEye's provided test runner
import { expect } from '@playwright/test';
import { test } from './fixtures';
test("Example Playwright test using AudioEye's Testing SDK", async ({ page, accessibility }) => {
await page.goto('http://localhost:3000/');
const results = await accessibility.evaluate(page.locator('.navbar__right'));
expect(results.conformanceLevel('A').resultCodes).toEqual(['Link_VisualIndicator_Missing', 'Svg_Name_Missing']);
expect(Object.keys(results.conformanceLevel('AA').resultsGroupedByWcagSuccessCriteriaLevel)).toEqual(['A']);
expect(Object.keys(results.resultsGroupedByWcagSuccessCriteriaLevel)).toEqual(['A', 'AAA']);
});
import { test } from '@audioeye/testing-sdk-playwright';
import { expect } from '@playwright/test';
test("Example Playwright test using AudioEye's Testing SDK", async ({ page, accessibility }) => {
await page.goto('http://localhost:3000/');
const results = await accessibility.evaluate(page.locator('.navbar__right'));
expect(results.conformanceLevel('A').resultCodes).toEqual(['Link_VisualIndicator_Missing', 'Svg_Name_Missing']);
expect(Object.keys(results.conformanceLevel('AA').resultsGroupedByWcagSuccessCriteriaLevel)).toEqual(['A']);
expect(Object.keys(results.resultsGroupedByWcagSuccessCriteriaLevel)).toEqual(['A', 'AAA']);
});
We provide fixtures named accessibility and a11y which can be used interchangeably.
SDK API
evaluate
Evaluate the accessibility of the page or element using AudioEye's rule suite.
import { test } from '@audioeye/testing-sdk-playwright';
import { expect } from '@playwright/test';
test("Example Playwright test using AudioEye's Testing SDK", async ({ page, accessibility }) => {
await page.goto('http://localhost:3000/');
const accessibilityResults = await accessibility.evaluate();
});
Parameters
› locator (Locator)
The locator to evaluate. Defaults to the root of the page.
Returns
evaluate returns a Class of type A11yResults.
A11yResults API
conformanceLevel
Filter the accessibility results by the conformance level. The conformance level can be 'A', 'AA', or 'AAA'. Higher conformance levels include all lower conformance levels.
const results = accessibilityResults.conformanceLevel('AA');
Parameters
› level (String)
The conformance level to filter the results by. Either A, AA, or AAA.
Returns
A new instance of A11yResults.
resultCodes
Get the result codes for the accessibility results as a string array.
const resultCodes = accessibilityResults.resultCodes;
// ['Img_Name_WeakName']
Returns
An array of strings representing the result codes.
resultsGroupedByWcagSuccessCriteriaLevel
Group the accessibility results grouped by the WCAG success criteria level.
accessibilityResults.resultsGroupedByWcagSuccessCriteriaLevel();
// {A: [ ... ], AA: [ ... ], AAA: [ ... ]}
Returns
An object with the test results grouped by WCAG success criteria level.