7 min read·Updated April 14, 2026

axe DevTools Violations on Your Site

Serious violation Medium lawsuit risk
WCAG 1.1.1 Non-text Content (Level A)WCAG 1.3.1 Info and Relationships (Level A)WCAG 2.4.1 Bypass Blocks (Level A)WCAG 4.1.1 Parsing (Level A)WCAG 4.1.2 Name, Role, Value (Level A)
Detected by

axe DevTools is the detection tool. Install the Chrome or Firefox extension from deque.com/axe/devtools/ or use axe-core (open source npm package) in automated tests.

Why it matters

axe DevTools, developed by Deque Systems, is the industry-standard accessibility testing engine powering Lighthouse, Siteimprove, and hundreds of other tools. The axe-core library has been downloaded over 2 billion times and is trusted by Microsoft, Google, and Apple. When axe flags violations, you can be confident they are real WCAG failures — axe has a near-zero false positive rate by design. axe categorizes violations by impact: Critical violations completely block users with disabilities from accessing content; Serious violations create significant barriers; Moderate and Minor violations reduce the quality of the experience. Integrating axe into your CI/CD pipeline is one of the highest-leverage accessibility investments — it prevents regressions from shipping without adding manual testing overhead.

Symptoms — what you'll see

If your site has this problem, you may observe any of the following:

  • axe DevTools extension shows violation count in browser toolbar
  • Violations panel shows Critical, Serious, Moderate, and Minor categories
  • Highlighted elements on page with violation markers
  • CI/CD pipeline failing due to axe-core violations in automated tests
  • Deque axe DevTools Pro showing violations with guided fixes
  • axe-core integration in Cypress/Playwright tests reporting failures

Common causes

  • Missing semantic HTML — custom components built with divs that do not expose roles
  • Incorrect ARIA usage: roles applied to wrong elements, required ARIA properties missing
  • Images without alt text, especially dynamically loaded product images
  • Form controls without accessible names
  • Color contrast failures across text elements
  • Missing skip navigation link (WCAG 2.4.1)
  • Duplicate IDs in the document causing ARIA labelledby/describedby references to fail
  • Frame/iframe elements without title attributes

How to fix it

  1. 1Install axe DevTools Chrome extension from Deque and run it on each page type.
  2. 2Sort violations by "Impact" — fix Critical first, then Serious, Moderate, Minor.
  3. 3For each violation, click "Highlight" to see affected elements, then "More info" for the specific fix guidance.
  4. 4Most common Critical violations: missing image alt text, form inputs without labels, color contrast failures, empty interactive elements.
  5. 5Most common Serious violations: ARIA role violations, missing landmarks, incorrect heading structure.
  6. 6Use axe's "Best Practices" tab for non-WCAG improvements that still affect accessibility.
  7. 7Integrate axe-core into your test suite: npm install axe-core @axe-core/react (for React) and run checks in CI.
  8. 8Use axe DevTools Pro's "Fix" suggestions for guided remediation with code examples.

Code example

Before — failing
// Automated test WITHOUT axe — misses accessibility regressions
describe('Homepage', () => {
  it('loads correctly', () => {
    cy.visit('/');
    cy.get('.hero').should('be.visible');
  });
});
After — passing
// Automated test WITH axe — catches accessibility violations in CI
import 'cypress-axe';

describe('Homepage', () => {
  it('has no accessibility violations', () => {
    cy.visit('/');
    cy.injectAxe();
    cy.checkA11y(null, {
      rules: {
        'color-contrast': { enabled: true },
        'image-alt': { enabled: true },
        'label': { enabled: true },
      },
      // Fail only on critical/serious violations
      includedImpacts: ['critical', 'serious'],
    });
  });
});

Get a free audit — we'll find every issue like this on your site

Our specialists run a full WCAG 2.1 AA review in 48 hours. No credit card required.

How to test your fix

After applying the fix, verify it works using these testing steps:

  1. Install axe DevTools extension from Deque (Chrome Web Store or Firefox Add-ons).
  2. Navigate to each page type and open DevTools > axe DevTools tab.
  3. Click "Scan ALL of my page" and wait for results.
  4. Review violations by impact level and note the count per category.
  5. For each violation, use Highlight to identify affected elements and More info for fix details.
  6. For automated testing: npm install axe-core and integrate with your existing test framework.
  7. Set up axe in CI/CD to block deployments when Critical/Serious violations are introduced.

Frequently asked questions

What is the difference between axe DevTools (free) and axe DevTools Pro?+

axe DevTools free extension provides automated violation detection. axe DevTools Pro (paid) adds guided fixes with code examples, intelligent guided tests for issues automated tools cannot detect, axe Linter for IDE integration, and team collaboration features. For most teams, the free version plus axe-core in CI provides excellent coverage.

How do I integrate axe-core into a Jest/React test suite?+

Install jest-axe (npm install jest-axe). In your test files: import { axe, toHaveNoViolations } from "jest-axe"; expect.extend(toHaveNoViolations). Then render your component, run const results = await axe(container) and expect(results).toHaveNoViolations(). This catches accessibility regressions on every component render.

Why does axe show "Best Practices" violations separately from WCAG violations?+

axe distinguishes between WCAG conformance failures (violations) and best practices that are not strict WCAG requirements but significantly improve accessibility. Examples include using redundant alt text on linked images, and avoiding positive tabindex values. Fix WCAG violations first, then address Best Practices for comprehensive quality.

axe says my ARIA is incorrect — what does that mean?+

Common ARIA violations include: using a role that is not valid for the element type (e.g., role="button" on an <h1>), missing required ARIA properties (e.g., aria-checked on a role="checkbox" without setting a value), and referencing IDs that do not exist (aria-labelledby="id123" but no element has that ID). axe's "More info" panel for each violation explains the specific rule broken.

Can axe find all accessibility issues on my site?+

No — axe catches approximately 30–40% of WCAG 2.1 AA issues. It excels at structural violations (missing alt text, ARIA errors, contrast), but cannot evaluate cognitive accessibility, keyboard interaction patterns, reading order, or the quality of accessible names in context. Use axe as your baseline and supplement with manual testing.

Stop guessing — get a full WCAG audit

Free 5-page WCAG 2.1 AA audit. Real specialists, 48-hour turnaround, no credit card. We find every issue — not just this one.