Using the RGAA Ruleset with Axe DevTools for Web APIs
How the RGAA ruleset works, how it relates to WCAG, and how to select it from the Axe DevTools for Web APIs and CLI.
RGAA is one of the accessibility standards you can test against with the Axe DevTools for Web APIs and CLI, identified by the ruleset ID rgaav4. This page explains what the RGAA ruleset is, how it relates to the WCAG rulesets when you read your results, and how to select it in each language binding and in the CLI. For an overview of all available standards, see Rulesets; for general information on changing your ruleset and axe-core version, see Customizing Rules.
What Is RGAA?
RGAA, or Référentiel Général d'Amélioration de l'Accessibilité, is the French government's web accessibility standard. It is largely based on WCAG 2.1 and provides specific technical criteria for assessing web content accessibility. The current supported version is RGAA 4. You can also find RGAA defined in the Glossary.
RGAA is primarily relevant to organizations that must meet French web accessibility obligations, including public-sector bodies and certain large private organizations operating in France. It is published and maintained by the French government at the official RGAA site.
How RGAA Relates to WCAG
RGAA 4 is not a separate or stricter set of technical requirements than WCAG. It transposes the WCAG 2.1 level A and AA success criteria into 106 testable control criteria organized into 13 thematic areas, each with detailed test procedures. The underlying technical bar is essentially WCAG 2.1 AA, with RGAA adding a prescriptive French audit methodology, French-language wording, and a legal compliance regime.
For someone reading automated results, the difference between the RGAA ruleset and the WCAG rulesets is mostly one of labeling and scope rather than what is checked. Axe-core implements RGAA by adding RGAA tags to its existing, largely WCAG-based rules rather than by running a distinct engine. Selecting the rgaav4 ruleset runs the WCAG-derived rules that map to RGAA criteria, plus a small number of rules that WCAG treats as best practice but RGAA requires — such as region, skip-link, table-duplicate-name, and the experimental focus-order-semantics.
Because RGAA requires several rules that WCAG classifies as best practice and experimental, an RGAA scan surfaces findings that a default WCAG 2.1 AA run does not. Expect the rgaav4 ruleset to report issues you would not see under the default wcag2.1 ruleset.
Passing an automated RGAA scan is not the same as full RGAA conformance: automated testing covers only the machine-testable subset of RGAA's criteria, and full conformance additionally requires manual testing, the official audit methodology, an accessibility declaration, and a computed conformance rate that are outside the scope of automated tools.
axe-core Version
RGAA support is a recent addition to the accessibility testing engine, so the ruleset is only available when your axe-core version is current enough. Ensuring your axe-core version is consistent across components, developers, and teams keeps scan results consistent; see Customizing Rules for how the axe-core version is selected.
RGAA 4 is only supported in axe-core versions 4.11.0 and higher.
Selecting the RGAA Ruleset
By default, Axe DevTools tests according to the WCAG 2.1 AA standard. You select RGAA the same way you select any other ruleset, by passing the ruleset ID rgaav4. Each language binding exposes its own ruleset-selection method; see About Axe DevTools for Web APIs for the full list of supported languages and frameworks.
APIs
- Python (Python overview): select the ruleset with
with_ruleset("rgaav4"). See the Python API reference, or, for Robot Framework, the Robot Framework reference. - Java (Java overview): select the ruleset with
forRuleset("rgaav4"). See the Java Selenium API reference and the Java Selenium testing guide. The Java Hamcrest testing guide has noforRulesetmethod and instead selects RGAA as a tag withaccordingTo("RGAAv4"). - C# (C# overview): select the ruleset with
WithRuleset("rgaav4"). See the C# API reference, which also exposesRGAAv4as aTagTypevalue for tag-based selection. - Node.js and JavaScript (Node.js and JavaScript overview): the mechanism differs by framework. Pass the ruleset ID to
AxeDevTools.init("rgaav4")in the Browser JavaScript reference, usecy.setAxeRuleset("rgaav4")in the Cypress API docs, or set therulesetID: "rgaav4"constructor option in the WebdriverIO reference. - Ruby (Ruby introduction): RGAA is supported in the Ruby packages and is selected through the standard
according_to_rulesetmechanism documented for RSpec and Cucumber. Note that those pages' examples focus on the WCAG and Section 508 rulesets and do not enumeratergaav4explicitly.
Most of these methods also accept an optional argument to enable best-practice rules; the exact name varies by language, so consult the linked reference for each one.
CLI
The CLI offers two ways to work with RGAA. First, generate a standard RGAA v4 configuration file with axe ruleset --rgaav4, then apply it when scanning with the --custom flag. See Custom Rulesets and the CLI Reference.
axe ruleset --rgaav4 # generates rgaav4.json
axe <url> --custom rgaav4.jsonSecond, you can record the ruleset in the metadata of --format universal output by passing --universal-ruleset rgaav4 (see the CLI Reference and Page Tests), or set the ruleset parameter of the analyze action to rgaav4 in workflow specs.
RGAA in Results and Tags
When you run the RGAA ruleset, results carry the overall ruleset tag RGAAv4 alongside per-criterion tags in the form RGAA-x.x.x (for example, RGAA-3.2.1). These tags appear next to the equivalent WCAG and other standard tags on each result. For example, a color-contrast finding may include the following tags:
cat.color, wcag2aa, wcag143, TTv5, TT13.c, EN-301-549, EN-9.1.4.3, ACT, RGAAv4, RGAA-3.2.1Note the distinction between the two identifiers: the ruleset ID you pass to the APIs and CLI is the lowercase string rgaav4, while the tag string that appears in results is the capitalized RGAAv4. Because axe-core covers only the machine-testable subset of RGAA's criteria, the presence of RGAA tags on your results indicates the automated checks that ran, not full RGAA conformance.
