About Axe DevTools Linter
Overview of Axe DevTools Linter and this documentation site
What Is Linting?
Linting is the automated process of analyzing source code to find problems before you run it. A linter is a tool that reads your code and flags issues, anything from syntax errors and typos to stylistic inconsistencies and potential bugs.
The term comes from a Unix tool called lint, which originally checked C programs for suspicious constructs. Today, linters exist for virtually every programming language and serve as a first line of defense in code quality.
Think of a linter like a spell-checker for code, except instead of just catching typos, it also catches logical mistakes, enforces style rules, and warns you about patterns that are likely to cause bugs.
What is an Accessibility Linter?
An accessibility linter checks for potentially bad accessibility practices, giving you feedback as you develop rather than after your website or application is built and running.
What Axe DevTools Linter Does
Axe DevTools Linter performs static analysis of your source files. It reads your code and checks it against Deque's rules to identify patterns likely to cause accessibility problems. For example, it can detect:
- Images missing alternative text
- Form inputs without labels
- Incorrect or missing ARIA attributes
- Heading structure issues
Because it analyzes source code rather than a running application, Axe DevTools Linter can catch these issues early, before code is merged, deployed, or even compiled.
What Axe DevTools Linter Cannot Do
Because Axe DevTools Linter is a static analysis tool, it cannot:
- Test the runtime behavior of your application, such as dynamically loaded content or JavaScript-driven UI changes.
- Catch every accessibility issue; static analysis covers a subset of detectable defects, and some issues require browser-based testing or manual review.
- Replace manual accessibility testing or browser-based tools.
Supported Technologies
Axe DevTools Linter can check the following file types:
| Technology | File Extensions |
|---|---|
| React | .js, .jsx, .tsx |
| Vue | .vue |
| Angular | .component.html |
| HTML | .html, .htm, .xhtml |
| LiquidJS | .liquid |
| Markdown | .md, .markdown |
| React Native | See Axe DevTools Linter for React Native |
Ways to Use Axe DevTools Linter
Axe DevTools Linter can be used in several ways depending on your workflow:
IDE extensions provide real-time feedback as you write code. The VS Code extension and JetBrains plugin (WebStorm and IntelliJ IDEA Ultimate) indicate accessibility issues directly in your editor as you type.
The Connector is a command-line tool for linting files in batch, in scripts, or as part of a CI/CD pipeline. See Using Axe DevTools Linter Connector.
The GitHub Action checks files that have changed in a pull request and reports accessibility issues. See The Axe DevTools Linter GitHub Action.
Other CI/CD integrations include Jenkins, SonarQube, and Git pre-commit hooks.
Where Analysis Runs
Local linting: The VS Code extension, JetBrains plugin, and the Connector (with the --local option) all run accessibility analysis on your own machine. File contents never leave your computer.
Server-based linting: The Connector can also send your files to an Axe DevTools Linter server for analysis. This is the approach used by the GitHub Action. There are two server options:
- Deque-hosted SaaS: Deque's cloud server. Requires an API key; no server setup needed.
- On-premises: A server you run within your own infrastructure. See Installation and Security.
For guidance on choosing between local and server-based linting with the Connector, see Local Linting.
Documentation Overview
Obtaining an Axe DevTools Linter SaaS API Key shows you how to get a key to access Deque's cloud-based linting service.
Accessibility Rules lists all rules that Axe DevTools Linter checks, with links to detailed information on Deque University.
Configuring Axe DevTools Linter covers the configuration options available in the VS Code extension, the JetBrains plugin, the Axe DevTools Linter Connector, and the REST API /lint-source endpoint.
Installation and Security contains articles on installing the on-premises server and securing it with NGINX as a reverse proxy.
Using Axe DevTools Linter covers the various integrations: the JetBrains plugin, VS Code extension, Connector CLI, GitHub Action, pre-commit hook, Jenkins, and SonarQube.
Linting Custom Components discusses Axe DevTools Linter's support for custom components, with walkthroughs for VS Code and JetBrains users and REST endpoint users, plus an article on preconfigured component libraries.
Developing with the REST APIs describes how to access Axe DevTools Linter programmatically using its REST interface.
Credits provides attribution and license information for third-party software used by Axe DevTools Linter.
Note: It is never necessary to use Deque's software or services in a way that collects, stores, or shares personal data. Do not use the software or services in a manner that collects, stores, or shares personal data.
