This site uses cookies for analytics. By continuing to browse this site, you agree to this use.

axe accessibility check

axe accessibility check (axe)

axe is the accessibility engine for automated testing of HTML-based user interfaces. These hints run the recommended set of WCAG 2.1 Level A and Level AA rules from axe-core.

Why is this important?

The Web is an increasingly important resource in many aspects of life: education, employment, government, commerce, health care, recreation, and more. It is essential that the Web be accessible in order to provide equal access and equal opportunity to people with disabilities. An accessible Web can also help people with disabilities more actively participate in society.

The Web offers the possibility of unprecedented access to information and interaction for many people with disabilities. That is, the accessibility barriers to print, audio, and visual media can be much more easily overcome through Web technologies.

The document “Social Factors in Developing a Web Accessibility Business Case for Your Organization” discusses how the Web impacts the lives of people with disabilities, the overlap with digital divide issues, and Web accessibility as an aspect of corporate social responsibility.

Another important consideration for organizations is that web accessibility is required by laws and policies in some cases.

From WAI’s Introduction to Web Accessibility.

What does the hint check?

By default, hint-axe contains hints which run all the WCAG 2.1 Level A and Level AA rules included in axe-core with document as the target. These rules are grouped into hints based on their assigned category within axe-core. See each contained hint for the specific list of enabled rules within that group and more information about each rule.

Hints

Can the hint be configured?

This hint uses axe.run and the default values (WCAG 2.1 Level A and Level AA rules) over the document. You can modify what rules or categories are executed via an options object that follows axe’s documentation.

Some examples of hint configurations that you can have in the .hintrc file:

Disable a rule included in the default configuration:

{
    "connector": {...},
    "formatters": [...],
    "hints": {
        "axe/language": ["error", {
            "html-has-lang": "off"
        }],
        ...
    },
    ...
}

Enable a rule excluded from the default configuration:

{
    "connector": {...},
    "formatters": [...],
    "hints": {
        "axe/keyboard": ["error", [
            "tabindex"
        ]],
        ...
    },
    ...
}

or if you want to set a custom severity:

{
    "connector": {...},
    "formatters": [...],
    "hints": {
        "axe/keyboard": ["error", {
            "tabindex": "error"
        }],
        ...
    },
    ...
}

Change the severity of an individual rule:

{
    "connector": {...},
    "formatters": [...],
    "hints": {
        "axe/color": ["error", {
            "color-contrast": "warning"
        }],
        ...
    },
    ...
}

How to use this hint?

This package is installed automatically by webhint:

npm install hint --save-dev

To use it, activate it via the .hintrc configuration file:

{
    "connector": {...},
    "formatters": [...],
    "hints": {
        "axe/aria": "error",
        "axe/color": "error",
        ...
    },
    "parsers": [...],
    ...
}

Note: The recommended way of running webhint is as a devDependency of your project.

Further Reading