Choosing the Right Axe DevTools Linter Setup

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

A guide to selecting the deployment model, integrations, and configuration that fit your team's workflow

Free Trial
Not for use with personal data

Axe DevTools Linter can be used in many ways, and the right combination depends on how your team writes, reviews, and ships code. This guide walks through the main decisions so you can choose a setup that fits your circumstances. Most teams combine several of these options rather than picking just one.

The decisions fall into four areas:

  1. Where analysis runs (whether files are linted locally or on a server, and which deployment model hosts that server)
  2. Where linting happens in your workflow (IDE, pre-commit hook, CI/CD)
  3. Whether you need to configure component libraries
  4. When to add other integrations such as SonarQube
note

This guide helps you decide which options to use. For step-by-step instructions on how to set up each option, follow the links to the individual pages. For a feature-level overview of everything Axe DevTools Linter offers, see About Axe DevTools Linter.

1. Choose Where Analysis Runs

There are two related choices here: whether your files are analyzed on your own machine or sent to a server, and, if a server is involved, which kind of server hosts it.

Local or Server-Based Linting

Where your files are analyzed, and whether their contents leave your machine, depends on the integration. The three integration families behave differently:

  • IDE integrations always lint locally. The VS Code extension and the JetBrains plugin analyze files on your own machine with a bundled component, so file contents never leave your computer. They require no API key or license key to lint.
  • The Connector can lint either way. By default the Connector sends files to an Axe DevTools Linter server, but its --local option analyzes them on your machine instead, so their contents never leave it. Deque recommends local linting for most cases: it is significantly faster and less prone to network problems, especially when linting large numbers of files. Whichever way you lint, the Connector authenticates, as described in Connector authentication below.
  • The GitHub Action is always server-based. The GitHub Action sends changed files to an Axe DevTools Linter server for analysis. It has no local-linting mode, so this option always sends file contents to the server.

Connector Authentication

When you use the Connector, you authenticate with one of two credentials, whether you lint locally or against a server:

  • API key (the --api-key option): You manage API keys yourself as part of your Axe Account. The Connector contacts a remote server to validate the key and report usage (the lines of code linted). This happens even when you lint locally.
  • License key (the --license-key option): You request a license key from Deque's Help Desk. It authenticates with no network activity and does not track usage, which makes it the right choice for air-gapped networks or environments with strict outbound rules. It is available only with local linting.

This gives the Connector three ways to run:

Mode Where files are analyzed Network during linting Usage tracked
API key, server-based (the default) Linter server Yes, files plus authentication Yes
API key with --local Your machine Authentication and usage only; file contents stay local Yes
License key with --local Your machine None No

The IDE integrations need no credential to lint. The GitHub Action authenticates with an API key; its setup guide covers the workflow for both SaaS and on-premises servers.

Server Deployment Model

If you lint against a server, or authenticate with an API key while linting locally, you also choose which kind of server hosts Axe DevTools Linter. This affects setup effort, whether your files leave your network, and how you authenticate.

Model What it is Setup effort Authentication
Deque-hosted SaaS Deque runs the linter server in its cloud. None API key
On-premises You run the linter server inside your own infrastructure. Source never leaves your network. You install and maintain the server. See Installation and Security. License key
Private cloud A dedicated Deque-hosted instance for your organization. Managed by Deque API key, to authenticate and report usage when linting locally

Choose SaaS for the fastest start and no infrastructure to maintain. Choose on-premises when policy requires that source code stay within your network, or when you want full control over the server. Choose private cloud when you want a dedicated Deque-managed instance without running the server yourself.

2. Choose Where Linting Happens in Your Workflow

Accessibility feedback is most useful early and often. The integrations below apply at different points in the development lifecycle, and they work well together: catch issues as you type, again before a commit, and once more in the pull request.

Integration When it runs Best for
VS Code extension / JetBrains plugin As you type, in the editor Real-time feedback for individual developers
Git pre-commit hook Before a commit is accepted Blocking accessibility errors from entering the repository
GitHub Action On a pull request Team-wide checks that comment inline on changed files
Connector In scripts and CI/CD pipelines Batch linting and building custom automation

A common, layered approach is:

  1. IDE extension so developers see issues immediately as they write code.
  2. Pre-commit hook or GitHub Action as a gate so issues are caught before or during code review.
  3. Connector in CI/CD to enforce checks across the whole codebase and to feed other systems.

You do not have to adopt all three layers at once. Teams often start with the IDE extension, then add a pull request check once they are ready to enforce standards across the team.

3. Decide Whether to Configure Component Libraries

By default, Axe DevTools Linter checks standard HTML elements and framework markup. If your code uses custom components (for example, a <custom-image> that renders an <img>), the linter cannot check them for accessibility until you tell it how each component maps to a standard element.

You should configure component linting if:

  • Your codebase relies on a design system or custom component library, and
  • You want accessibility issues inside those components to be flagged.

There are two paths:

Configuration options are shared across the IDE integrations, the Connector, and the REST API, and are documented in Configuring Axe DevTools Linter.

4. Decide When to Add Other Integrations

The integrations in step 2 cover most teams' needs. Consider the following additional integrations when they match tools you already use:

Integration Add it when
SonarQube Your team already uses SonarQube for code quality and you want accessibility issues to appear there as external issues, alongside your other findings.
Jenkins You run builds in Jenkins and want accessibility checks as part of those builds.
Other CI/CD systems You use Bitbucket, CircleCI, GitLab, or Azure DevOps. The Connector provides the foundation for integrating with these systems.

These integrations are all built on the Connector, which produces the linting results that each system consumes. The general rule: reach for another integration when it lets accessibility findings surface in a tool your team already relies on, rather than adding a new tool for its own sake.

Putting It Together

A typical setup for a team using SaaS might be:

  • The VS Code extension (or JetBrains plugin) for every developer, for feedback while coding.
  • The GitHub Action on pull requests, so accessibility issues are visible during code review.
  • Custom component mappings if the team uses a design system.
  • SonarQube integration only if the team already centralizes code quality there.

A team with stricter data-handling requirements might replace SaaS with the on-premises deployment and use the Connector with --local in their CI/CD pipeline so source code never leaves their network.

If you are unsure which combination fits your circumstances, contact Deque's help desk.