Product design skills

references/rgaa-automation.md

A supporting file of the ultra11y skill.

RGAA 4.1.2 automation matrix

Every one of the 258 official tests is classified. static and rendered mean that an explicitly mapped decisive rule can prove a failure; judgment remains for adjudication. A candidate signal is evidence only and never changes the verdict by itself. Conformity by silence is allowed only where explicitly shown.

Summary by criterion

The 106 criterion rows below are the one-by-one routing review. “AI + signals” means deterministic evidence is forwarded without changing the verdict; “deterministic NC + AI residual” means a precise failure can be decided mechanically while every remaining condition still goes to adjudication.

CriterionTests (static / rendered / judgment)Rules (decisive / candidate / advisory)C by silenceReviewed routing
1.11 / 1 / 63 / 8 / 0nodeterministic NC + AI residual
1.20 / 0 / 60 / 3 / 0noAI + signals
1.30 / 0 / 90 / 0 / 0noAI
1.40 / 0 / 70 / 0 / 0noAI
1.50 / 0 / 20 / 0 / 0noAI
1.60 / 0 / 100 / 0 / 0noAI
1.70 / 0 / 60 / 0 / 0noAI
1.80 / 0 / 60 / 0 / 0noAI
1.90 / 0 / 50 / 0 / 0noAI
2.11 / 0 / 02 / 1 / 0nodeterministic NC + AI residual
2.20 / 0 / 10 / 0 / 0noAI
3.10 / 0 / 60 / 0 / 0noAI
3.20 / 0 / 50 / 5 / 0noAI + signals
3.30 / 0 / 40 / 1 / 0noAI + signals
4.10 / 0 / 30 / 0 / 0noAI
4.20 / 0 / 30 / 0 / 0noAI
4.30 / 0 / 20 / 3 / 0noAI + signals
4.40 / 0 / 10 / 0 / 0noAI
4.50 / 0 / 20 / 0 / 0noAI
4.60 / 0 / 20 / 0 / 0noAI
4.70 / 0 / 10 / 0 / 0noAI
4.80 / 0 / 20 / 0 / 0noAI
4.90 / 0 / 10 / 0 / 0noAI
4.100 / 0 / 10 / 2 / 0noAI + signals
4.110 / 0 / 30 / 0 / 0noAI
4.120 / 0 / 20 / 0 / 0noAI
4.130 / 0 / 20 / 0 / 0noAI
5.10 / 0 / 10 / 0 / 0noAI
5.20 / 0 / 10 / 0 / 0noAI
5.30 / 0 / 10 / 0 / 0noAI
5.40 / 0 / 10 / 1 / 0noAI + signals
5.50 / 0 / 10 / 0 / 0noAI
5.60 / 0 / 40 / 4 / 0noAI + signals
5.73 / 0 / 22 / 3 / 0nodeterministic NC + AI residual
5.81 / 0 / 01 / 1 / 0nodeterministic NC + AI residual
6.10 / 0 / 50 / 0 / 1noAI
6.21 / 0 / 02 / 1 / 0nodeterministic NC + AI residual
7.12 / 0 / 15 / 20 / 0nodeterministic NC + AI residual
7.20 / 0 / 20 / 0 / 0noAI
7.30 / 0 / 20 / 1 / 0noAI + signals
7.40 / 0 / 10 / 0 / 0noAI
7.50 / 0 / 30 / 3 / 0noAI + signals
8.10 / 1 / 21 / 0 / 0nodeterministic NC + AI residual
8.21 / 0 / 05 / 0 / 0nodeterministic NC + AI residual
8.31 / 0 / 01 / 2 / 0yesdeterministic
8.41 / 0 / 03 / 1 / 0nodeterministic NC + AI residual
8.51 / 0 / 02 / 0 / 0yesdeterministic
8.60 / 0 / 10 / 0 / 0noAI
8.70 / 0 / 10 / 1 / 0noAI + signals
8.80 / 0 / 10 / 2 / 0noAI + signals
8.90 / 0 / 10 / 0 / 0noAI
8.101 / 0 / 11 / 0 / 0nodeterministic NC + AI residual
9.10 / 0 / 30 / 7 / 0noAI + signals
9.20 / 0 / 10 / 3 / 0noAI + signals
9.33 / 0 / 05 / 0 / 0nodeterministic NC + AI residual
9.40 / 0 / 20 / 0 / 0noAI
10.13 / 0 / 03 / 0 / 0yesdeterministic
10.20 / 0 / 10 / 1 / 0noAI + signals
10.30 / 0 / 10 / 0 / 0noAI
10.40 / 0 / 20 / 5 / 0noAI + signals
10.50 / 0 / 30 / 0 / 0noAI
10.60 / 0 / 10 / 1 / 0noAI + signals
10.70 / 1 / 01 / 1 / 0nodeterministic NC + AI residual
10.80 / 0 / 10 / 1 / 0noAI + signals
10.90 / 0 / 40 / 0 / 0noAI
10.100 / 0 / 40 / 0 / 0noAI
10.110 / 0 / 20 / 2 / 0noAI + signals
10.121 / 0 / 03 / 2 / 0nodeterministic NC + AI residual
10.130 / 0 / 30 / 1 / 0noAI + signals
10.140 / 0 / 20 / 0 / 0noAI
11.11 / 0 / 23 / 8 / 0nodeterministic NC + AI residual
11.20 / 0 / 60 / 0 / 0noAI
11.30 / 0 / 20 / 0 / 0noAI
11.40 / 0 / 30 / 0 / 0noAI
11.51 / 0 / 01 / 1 / 0nodeterministic NC + AI residual
11.61 / 0 / 02 / 0 / 0nodeterministic NC + AI residual
11.70 / 0 / 10 / 0 / 0noAI
11.81 / 0 / 21 / 0 / 0nodeterministic NC + AI residual
11.92 / 0 / 02 / 2 / 0nodeterministic NC + AI residual
11.100 / 0 / 70 / 2 / 0noAI + signals
11.110 / 0 / 20 / 0 / 0noAI
11.120 / 0 / 20 / 0 / 0noAI
11.130 / 0 / 10 / 3 / 0noAI + signals
12.10 / 0 / 10 / 0 / 0noAI
12.20 / 0 / 10 / 0 / 0noAI
12.30 / 0 / 30 / 0 / 0noAI
12.40 / 0 / 30 / 0 / 0noAI
12.50 / 0 / 30 / 0 / 0noAI
12.60 / 0 / 10 / 5 / 0noAI + signals
12.70 / 0 / 20 / 3 / 0noAI + signals
12.80 / 0 / 20 / 2 / 0noAI + signals
12.90 / 0 / 10 / 1 / 0noAI + signals
12.100 / 0 / 10 / 0 / 0noAI
12.110 / 0 / 10 / 0 / 0noAI
13.10 / 0 / 40 / 1 / 0noAI + signals
13.20 / 0 / 10 / 0 / 0noAI
13.30 / 0 / 10 / 0 / 0noAI
13.40 / 0 / 10 / 0 / 0noAI
13.50 / 0 / 10 / 0 / 0noAI
13.60 / 0 / 10 / 0 / 0noAI
13.70 / 0 / 30 / 0 / 0noAI
13.80 / 0 / 20 / 3 / 0noAI + signals
13.90 / 0 / 10 / 1 / 0noAI + signals
13.100 / 0 / 20 / 0 / 0noAI
13.110 / 0 / 10 / 0 / 0noAI
13.120 / 0 / 30 / 0 / 0noAI

Test-by-test contract

TestOwnerDecisive rulesCandidate signals
1.1.1judgmentaxe:image-alt, axe:role-img-alt, chart-no-accessible-name, img-alt-missing
1.1.2renderedaxe:area-alt
1.1.3staticaxe:input-image-alt, input-image-alt-missing
1.1.4judgment
1.1.5judgmentaxe:svg-img-alt, chart-no-accessible-name
1.1.6judgmentaxe:object-alt, object-embed-no-name
1.1.7judgmentobject-embed-no-name
1.1.8judgmentcanvas-fallback-missing, chart-no-accessible-name
1.2.1judgmentaxe:image-redundant-alt, decorative-alt-misuse, decorative-marked-exposed
1.2.2judgmentaxe:image-redundant-alt, decorative-alt-misuse, decorative-marked-exposed
1.2.3judgmentaxe:image-redundant-alt, decorative-alt-misuse, decorative-marked-exposed
1.2.4judgmentaxe:image-redundant-alt, decorative-alt-misuse, decorative-marked-exposed
1.2.5judgmentaxe:image-redundant-alt, decorative-alt-misuse, decorative-marked-exposed
1.2.6judgmentaxe:image-redundant-alt, decorative-alt-misuse, decorative-marked-exposed
1.3.1judgment
1.3.2judgment
1.3.3judgment
1.3.4judgment
1.3.5judgment
1.3.6judgment
1.3.7judgment
1.3.8judgment
1.3.9judgment
1.4.1judgment
1.4.2judgment
1.4.3judgment
1.4.4judgment
1.4.5judgment
1.4.6judgment
1.4.7judgment
1.5.1judgment
1.5.2judgment
1.6.1judgment
1.6.2judgment
1.6.3judgment
1.6.4judgment
1.6.5judgment
1.6.6judgment
1.6.7judgment
1.6.8judgment
1.6.9judgment
1.6.10judgment
1.7.1judgment
1.7.2judgment
1.7.3judgment
1.7.4judgment
1.7.5judgment
1.7.6judgment
1.8.1judgment
1.8.2judgment
1.8.3judgment
1.8.4judgment
1.8.5judgment
1.8.6judgment
1.9.1judgment
1.9.2judgment
1.9.3judgment
1.9.4judgment
1.9.5judgment
2.1.1staticaxe:frame-title, iframe-title-missingaxe:frame-title-unique
2.2.1judgment
3.1.1judgment
3.1.2judgment
3.1.3judgment
3.1.4judgment
3.1.5judgment
3.1.6judgment
3.2.1judgmentaxe:color-contrast, axe:color-contrast-enhanced, contrast-literal, rendered-contrast, rendered-contrast-pixel
3.2.2judgmentaxe:color-contrast, axe:color-contrast-enhanced, contrast-literal, rendered-contrast, rendered-contrast-pixel
3.2.3judgmentaxe:color-contrast, axe:color-contrast-enhanced, contrast-literal, rendered-contrast, rendered-contrast-pixel
3.2.4judgmentaxe:color-contrast, axe:color-contrast-enhanced, contrast-literal, rendered-contrast, rendered-contrast-pixel
3.2.5judgmentaxe:color-contrast, axe:color-contrast-enhanced, contrast-literal, rendered-contrast, rendered-contrast-pixel
3.3.1judgmentrendered-nontext-contrast
3.3.2judgmentrendered-nontext-contrast
3.3.3judgmentrendered-nontext-contrast
3.3.4judgmentrendered-nontext-contrast
4.1.1judgment
4.1.2judgment
4.1.3judgment
4.2.1judgment
4.2.2judgment
4.2.3judgment
4.3.1judgmentaxe:audio-caption, axe:video-caption, media-no-track
4.3.2judgment
4.4.1judgment
4.5.1judgment
4.5.2judgment
4.6.1judgment
4.6.2judgment
4.7.1judgment
4.8.1judgment
4.8.2judgment
4.9.1judgment
4.10.1judgmentautoplay-media, axe:no-autoplay-audio
4.11.1judgment
4.11.2judgment
4.11.3judgment
4.12.1judgment
4.12.2judgment
4.13.1judgment
4.13.2judgment
5.1.1judgment
5.2.1judgment
5.3.1judgment
5.4.1judgmenttable-caption-missing
5.5.1judgment
5.6.1judgmentaxe:td-has-header, axe:th-has-data-cells, data-table-no-headers, th-no-data-cells
5.6.2judgmentaxe:td-has-header, axe:th-has-data-cells, data-table-no-headers, th-no-data-cells
5.6.3judgmentaxe:th-has-data-cells, data-table-no-headers, th-no-data-cells
5.6.4judgmentth-no-data-cells
5.7.1judgmentdata-table-no-headers
5.7.2statictable-scope-invalidaxe:scope-attr-valid, data-table-no-headers
5.7.3statictable-scope-invalidaxe:scope-attr-valid, data-table-no-headers
5.7.4staticheaders-attr-danglingaxe:td-headers-attr, data-table-no-headers
5.7.5judgmentdata-table-no-headers
5.8.1staticlayout-table-data-markupaxe:table-fake-caption
6.1.1judgment
6.1.2judgment
6.1.3judgment
6.1.4judgment
6.1.5judgment
6.2.1staticaxe:link-name, link-empty-nameicon-only-control-unnamed
7.1.1staticaxe:button-name, axe:input-button-name, button-empty-name, menuitem-empty-namearia-hidden-focusable, aria-ref-missing-id, aria-required-children, axe:aria-allowed-attr, axe:aria-allowed-role, axe:aria-hidden-focus, axe:aria-required-attr, axe:aria-required-children, axe:aria-required-parent, axe:aria-roles, axe:aria-valid-attr, axe:aria-valid-attr-value, axe:nested-interactive, axe:presentation-role-conflict, cross-prop-drilled-name-lost, disabled-context-content, invalid-aria-role, nested-interactive, presentational-children-focusable, redundant-aria
7.1.2judgmentaria-hidden-focusable, aria-ref-missing-id, aria-required-children, axe:aria-allowed-attr, axe:aria-allowed-role, axe:aria-hidden-focus, axe:aria-required-attr, axe:aria-required-children, axe:aria-required-parent, axe:aria-roles, axe:aria-valid-attr, axe:aria-valid-attr-value, axe:nested-interactive, axe:presentation-role-conflict, cross-prop-drilled-name-lost, disabled-context-content, invalid-aria-role, nested-interactive, presentational-children-focusable, redundant-aria
7.1.3staticlabel-in-name-mismatcharia-hidden-focusable, aria-ref-missing-id, aria-required-children, axe:aria-allowed-attr, axe:aria-allowed-role, axe:aria-hidden-focus, axe:aria-required-attr, axe:aria-required-children, axe:aria-required-parent, axe:aria-roles, axe:aria-valid-attr, axe:aria-valid-attr-value, axe:nested-interactive, axe:presentation-role-conflict, cross-prop-drilled-name-lost, disabled-context-content, invalid-aria-role, nested-interactive, redundant-aria
7.2.1judgment
7.2.2judgment
7.3.1judgmentclickable-noninteractive
7.3.2judgment
7.4.1judgment
7.5.1judgmentdyn-live-region, live-region-conflict, status-message-not-assertive
7.5.2judgmentdyn-live-region, live-region-conflict, status-message-not-assertive
7.5.3judgmentdyn-live-region, live-region-conflict, status-message-not-assertive
8.1.1renderedpack:rgaa:doctype-missing
8.1.2judgment
8.1.3judgment
8.2.1staticaxe:duplicate-id, axe:duplicate-id-active, axe:duplicate-id-aria, duplicate-attribute, duplicate-id
8.3.1staticdocument-language-missingaxe:html-has-lang, html-lang-missing
8.4.1staticaxe:html-lang-valid, html-lang-xml-lang-mismatch, lang-invalidaxe:html-xml-lang-mismatch
8.5.1staticaxe:document-title, title-missing-empty
8.6.1judgment
8.7.1judgmentinline-lang-change-missing
8.8.1judgmentaxe:valid-lang, lang-invalid
8.9.1judgment
8.10.1judgment
8.10.2staticpack:rgaa:dir-value-invalid
9.1.1judgmentaxe:heading-order, axe:page-has-heading-one, h1-missing, h1-multiple, heading-order-skip
9.1.2judgmentaxe:empty-heading, empty-heading
9.1.3judgmentaxe:page-has-heading-one, h1-missing
9.2.1judgmentmissing-main-landmark, multiple-main-landmark, nav-landmark-missing
9.3.1staticaxe:list, axe:listitem, list-structure
9.3.2staticaxe:list, axe:listitem, list-structure
9.3.3staticaxe:definition-list, axe:dlitem, list-structure
9.4.1judgment
9.4.2judgment
10.1.1staticpresentational-element
10.1.2staticpresentational-attribute
10.1.3staticpresentational-spacing
10.2.1judgmentcss-generated-content-informative
10.3.1judgment
10.4.1judgmentdyn-input-overflow-zoom, dyn-reflow-zoom
10.4.2judgmentaxe:meta-viewport, axe:meta-viewport-large, meta-viewport-zoom-block
10.5.1judgment
10.5.2judgment
10.5.3judgment
10.6.1judgmentrendered-link-colour-only
10.7.1rendereddyn-focus-visiblerendered-focus-not-visible
10.8.1judgmentdisabled-context-content
10.9.1judgment
10.9.2judgment
10.9.3judgment
10.9.4judgment
10.10.1judgment
10.10.2judgment
10.10.3judgment
10.10.4judgment
10.11.1judgmentdyn-input-overflow-reflow, dyn-reflow
10.11.2judgment
10.12.1staticletter-spacing-important, line-height-important, word-spacing-importantdyn-input-overflow-spacing, dyn-text-spacing
10.13.1judgmentdyn-hover
10.13.2judgmentdyn-hover
10.13.3judgmentdyn-hover
10.14.1judgment
10.14.2judgment
11.1.1staticaxe:label, axe:select-name, control-label-missingaxe:label-title-only, control-name-title-only, field-purpose-incomplete, placeholder-as-label, select-has-option
11.1.2judgmentaxe:form-field-multiple-labels, form-field-multiple-labels, label-for-dangling
11.1.3judgmentaxe:label-title-only, control-name-title-only, field-purpose-incomplete, placeholder-as-label
11.2.1judgment
11.2.2judgment
11.2.3judgment
11.2.4judgment
11.2.5judgment
11.2.6judgment
11.3.1judgment
11.3.2judgment
11.4.1judgment
11.4.2judgment
11.4.3judgment
11.5.1staticradio-checkbox-group-ungroupeddate-fields-ungrouped
11.6.1staticaxe:fieldset, fieldset-legend-missing
11.7.1judgment
11.8.1judgment
11.8.2staticpack:rgaa:optgroup-without-label
11.8.3judgment
11.9.1staticform-button-empty-namecross-icon-only-unnamed, icon-only-control-unnamed
11.9.2staticform-label-in-name-mismatch
11.10.1judgment
11.10.2judgment
11.10.3judgmentaria-invalid-no-description, error-not-associated
11.10.4judgmentaria-invalid-no-description, error-not-associated
11.10.5judgment
11.10.6judgmentaria-invalid-no-description, error-not-associated
11.10.7judgmentaria-invalid-no-description, error-not-associated
11.11.1judgment
11.11.2judgment
11.12.1judgment
11.12.2judgment
11.13.1judgmentautocomplete-token-invalid, axe:autocomplete-valid, field-purpose-incomplete
12.1.1judgment
12.2.1judgment
12.3.1judgment
12.3.2judgment
12.3.3judgment
12.4.1judgment
12.4.2judgment
12.4.3judgment
12.5.1judgment
12.5.2judgment
12.5.3judgment
12.6.1judgmentaxe:landmark-one-main, missing-main-landmark, multiple-main-landmark, nav-landmark-missing, nav-landmark-unnamed
12.7.1judgmentaxe:bypass
12.7.2judgmentaxe:skip-link, skip-link-target-missing
12.8.1judgmentaxe:tabindex, positive-tabindex
12.8.2judgment
12.9.1judgmentdyn-keyboard-trap
12.10.1judgment
12.11.1judgment
13.1.1judgment
13.1.2judgmentmeta-refresh-redirect
13.1.3judgment
13.1.4judgment
13.2.1judgment
13.3.1judgment
13.4.1judgment
13.5.1judgment
13.6.1judgment
13.7.1judgment
13.7.2judgment
13.7.3judgment
13.8.1judgmentaxe:marquee, blink-marquee
13.8.2judgmentaxe:blink, blink-marquee
13.9.1judgmentrendered-orientation-lock
13.10.1judgment
13.10.2judgment
13.11.1judgment
13.12.1judgment
13.12.2judgment
13.12.3judgment

On this page