Accessible web testing with Playwright and Axe Core
This is the third article in a series on accessibility testing for QA engineers. The first one covered Cypress with axe-core and went into why accessibility testing matters, what the 2025 WebAIM Mi...

Source: DEV Community
This is the third article in a series on accessibility testing for QA engineers. The first one covered Cypress with axe-core and went into why accessibility testing matters, what the 2025 WebAIM Million report found, and the legal landscape around ADA and the European Accessibility Act. The second explored wick-a11y as an alternative Cypress plugin with built-in HTML reporting. This article adapts every example to Playwright using @axe-core/playwright, Deque's official integration. The accessibility concepts are identical. The code is different. Introducing the tools Playwright is a cross-browser testing framework from Microsoft. It runs tests against Chromium, Firefox, and WebKit, handles auto-waiting natively, and has had keyboard methods (page.keyboard.press()) since its first release. No plugin needed for that. Playwright added locator.ariaSnapshot() in v1.49, which captures the accessibility tree as structured YAML. Version 1.59 promoted it to a page-level method (page.ariaSnapsho