This document provides a comprehensive analysis of how axe-core implements the 80 WCAG 2.2 success criteria, revealing that 29.5% are fully automated, 10.3% have partial coverage, and 60.2% require manual testing. While axe-core excels at technical accessibility checks like ARIA implementation, text alternatives, and color contrast, it has significant gaps in areas requiring human judgment such as error handling, context changes, and content quality. Coverage varies substantially by conformance level—50-55% for Levels A and AA, but only 17.9% for Level AAA—reflecting the tool’s focus on automatically testable criteria rather than subjective quality assessments.

Complete Mapping Table

This table maps WCAG 2.2 Success Criteria to their implementation status in axe-core, based on analysis of axe-core’s ACT implementations.

WCAG SCSuccess Criteria NameLevelPrincipleDescriptionAxe-Core ImplementedPrimary Axe RuleAdditional Axe RulesImplementation Status
1.1.1Non-text ContentAPerceivableProvide text alternatives for non-text contentYesimage-altarea-alt, input-image-alt, object-alt, role-img-alt, svg-img-alt✅ Full Coverage
1.2.1Audio-only and Video-only (Prerecorded)APerceivableProvide alternatives for time-based mediaPartial**⚠️ Manual Review Required
1.2.2Captions (Prerecorded)APerceivableProvide captions for videosPartialvideo-caption*⚠️ Manual Review Required
1.2.3Audio Description or Media Alternative (Prerecorded)APerceivableProvide audio descriptions or media alternativeNo**❌ Not Implemented
1.2.4Captions (Live)AAPerceivableProvide captions for live audio contentNo**❌ Not Implemented
1.2.5Audio Description (Prerecorded)AAPerceivableProvide audio descriptions for videosNo**❌ Not Implemented
1.2.6Sign Language (Prerecorded)AAAPerceivableProvide sign language interpretationNo**❌ Not Implemented
1.2.7Extended Audio Description (Prerecorded)AAAPerceivableProvide extended audio descriptionsNo**❌ Not Implemented
1.2.8Media Alternative (Prerecorded)AAAPerceivableProvide full text alternative for synchronized mediaNo**❌ Not Implemented
1.2.9Audio-only (Live)AAAPerceivableProvide alternative for live audio-only contentNo**❌ Not Implemented
1.3.1Info and RelationshipsAPerceivableInformation and relationships can be programmatically determinedYesdefinition-list, dlitemlist, listitem, aria-required-children, aria-required-parent✅ Good Coverage
1.3.2Meaningful SequenceAPerceivableContent can be presented in a meaningful sequencePartial**⚠️ Limited Coverage
1.3.3Sensory CharacteristicsAPerceivableInstructions don’t rely solely on sensory characteristicsNo**❌ Not Implemented
1.3.4OrientationAAPerceivableContent doesn’t restrict its view to single display orientationYescss-orientation-lock*✅ Full Coverage
1.3.5Identify Input PurposeAAPerceivablePurpose of input fields can be programmatically determinedYesautocomplete-valid*✅ Full Coverage
1.3.6Identify PurposeAAAPerceivablePurpose of UI components can be programmatically determinedNo**❌ Not Implemented
1.4.1Use of ColorAPerceivableColor is not the only means of conveying informationYeslink-in-text-block*✅ Partial Coverage
1.4.2Audio ControlAPerceivableProvide control for audio that plays automaticallyYesno-autoplay-audio*✅ Full Coverage
1.4.3Contrast (Minimum)AAPerceivableText has sufficient contrast ratio (4.5:1)Yescolor-contrast*✅ Full Coverage
1.4.4Resize TextAAPerceivableText can be resized up to 200% without assistive technologyYesmeta-viewport*✅ Full Coverage
1.4.5Images of TextAAPerceivableUse text rather than images of textNo**❌ Not Implemented
1.4.6Contrast (Enhanced)AAAPerceivableText has sufficient contrast ratio (7:1)Yescolor-contrast-enhanced*✅ Full Coverage
1.4.7Low or No Background AudioAAAPerceivableAudio content has minimal background noiseNo**❌ Not Implemented
1.4.8Visual PresentationAAAPerceivableVisual presentation of text blocksNo**❌ Not Implemented
1.4.9Images of Text (No Exception)AAAPerceivableUse text rather than images of text (no exceptions)No**❌ Not Implemented
1.4.10ReflowAAPerceivableContent reflows to single column without horizontal scrollingPartial**⚠️ Limited Coverage
1.4.11Non-text ContrastAAPerceivableSufficient contrast for UI components and graphicsPartial**⚠️ Limited Coverage
1.4.12Text SpacingAAPerceivableContent doesn’t lose information when text spacing is increasedYesavoid-inline-spacing*✅ Full Coverage
1.4.13Content on Hover or FocusAAPerceivableAdditional content on hover/focus is dismissible, hoverable, persistentNo**❌ Not Implemented
2.1.1KeyboardAOperableAll functionality available from keyboardNo**❌ Not Implemented
2.1.2No Keyboard TrapAOperableKeyboard focus is never trappedNo**❌ Not Implemented
2.1.3Keyboard (No Exception)AAAOperableAll functionality available from keyboard (no exceptions)No**❌ Not Implemented
2.1.4Character Key ShortcutsAOperableCharacter key shortcuts can be turned off or remappedNo**❌ Not Implemented
2.2.1Timing AdjustableAOperableTime limits can be adjusted by the userNo**❌ Not Implemented
2.2.2Pause, Stop, HideAOperableMoving, blinking, scrolling content can be pausedYesblink, marquee*✅ Partial Coverage
2.2.3No TimingAAAOperableNo time limits on contentNo**❌ Not Implemented
2.2.4InterruptionsAAAOperableInterruptions can be postponed or suppressedNo**❌ Not Implemented
2.2.5Re-authenticatingAAAOperableData is preserved when re-authenticatingNo**❌ Not Implemented
2.2.6TimeoutsAAAOperableUsers are warned of the duration of inactivityNo**❌ Not Implemented
2.3.1Three Flashes or Below ThresholdAOperableNo content flashes more than 3 times per secondNo**❌ Not Implemented
2.3.2Three FlashesAAAOperableNo content flashes more than 3 times per second (strict)No**❌ Not Implemented
2.3.3Animation from InteractionsAAAOperableMotion animation can be disabledNo**❌ Not Implemented
2.4.1Bypass BlocksAOperableSkip navigation mechanisms are availableYesbypass*✅ Full Coverage
2.4.2Page TitledAOperableWeb pages have descriptive titlesYesdocument-title*✅ Full Coverage
2.4.3Focus OrderAOperableFocus order is logical and intuitivePartialtabindex*⚠️ Limited Coverage
2.4.4Link Purpose (In Context)AOperablePurpose of links can be determined from link text or contextYeslink-name*✅ Full Coverage
2.4.5Multiple WaysAAOperableMultiple ways are available to locate web pagesNo**❌ Not Implemented
2.4.6Headings and LabelsAAOperableHeadings and labels describe topic or purposeYesempty-headingsummary-name✅ Partial Coverage
2.4.7Focus VisibleAAOperableKeyboard focus indicator is visibleNo**❌ Not Implemented
2.4.8LocationAAAOperableInformation about location within site is availableNo**❌ Not Implemented
2.4.9Link Purpose (Link Only)AAAOperablePurpose of links can be identified from link text aloneYeslink-name*✅ Full Coverage
2.4.10Section HeadingsAAAOperableSection headings are used to organize contentYesheading-order*✅ Full Coverage
2.4.11Focus Not Obscured (Minimum)AAOperableFocused element is at least partially visibleNo**❌ Not Implemented
2.4.12Focus Not Obscured (Enhanced)AAAOperableFocused element is fully visibleNo**❌ Not Implemented
2.4.13Focus AppearanceAAAOperableFocus indicators meet minimum area and contrastNo**❌ Not Implemented
2.5.1Pointer GesturesAOperableFunctionality that uses multipoint or path-based gestures has alternativesNo**❌ Not Implemented
2.5.2Pointer CancellationAOperableFunctions triggered by single pointers can be cancelledNo**❌ Not Implemented
2.5.3Label in NameAOperableAccessible name contains the visible label textYeslabel-content-name-mismatch*✅ Full Coverage
2.5.4Motion ActuationAOperableFunctionality triggered by motion can be disabledNo**❌ Not Implemented
2.5.5Target Size (Enhanced)AAAOperableClick targets are at least 44×44 CSS pixelsNo**❌ Not Implemented
2.5.6Concurrent Input MechanismsAAAOperableContent does not restrict use of input modalitiesNo**❌ Not Implemented
2.5.7Dragging MovementsAAOperableDragging movements have single pointer alternativeNo**❌ Not Implemented
2.5.8Target Size (Minimum)AAOperableClick targets are at least 24×24 CSS pixelsYestarget-size*✅ Full Coverage
3.1.1Language of PageAUnderstandablePrimary language of page is programmatically determinedYeshtml-has-lang, html-lang-valid*✅ Full Coverage
3.1.2Language of PartsAAUnderstandableLanguage of passages is programmatically determinedYesvalid-lang*✅ Full Coverage
3.1.3Unusual WordsAAAUnderstandableDefinitions are available for unusual wordsNo**❌ Not Implemented
3.1.4AbbreviationsAAAUnderstandableDefinitions or expanded forms are available for abbreviationsNo**❌ Not Implemented
3.1.5Reading LevelAAAUnderstandableSupplemental content is available when text requires advanced reading abilityNo**❌ Not Implemented
3.1.6PronunciationAAAUnderstandablePronunciation is available for words where meaning is ambiguousNo**❌ Not Implemented
3.2.1On FocusAUnderstandableReceiving focus does not initiate change of contextNo**❌ Not Implemented
3.2.2On InputAUnderstandableChanging settings does not automatically cause change of contextNo**❌ Not Implemented
3.2.3Consistent NavigationAAUnderstandableNavigational mechanisms are consistentNo**❌ Not Implemented
3.2.4Consistent IdentificationAAUnderstandableComponents with same functionality are consistently identifiedNo**❌ Not Implemented
3.2.5Change on RequestAAAUnderstandableChanges of context are initiated only by user requestNo**❌ Not Implemented
3.2.6Consistent HelpAUnderstandableAccess to help is consistentNo**❌ Not Implemented
3.3.1Error IdentificationAUnderstandableInput errors are identified and described to userNo**❌ Not Implemented
3.3.2Labels or InstructionsAUnderstandableLabels or instructions are provided for user inputYeslabel, select-nameinput-button-name, aria-input-field-name✅ Good Coverage
3.3.3Error SuggestionAAUnderstandableError suggestions are provided when input errors are detectedNo**❌ Not Implemented
3.3.4Error Prevention (Legal, Financial, Data)AAUnderstandableSubmissions are reversible, checked, or confirmedNo**❌ Not Implemented
3.3.5HelpAAAUnderstandableContext-sensitive help is availableNo**❌ Not Implemented
3.3.6Error Prevention (All)AAAUnderstandableSubmissions are reversible, checked, or confirmed (all)No**❌ Not Implemented
3.3.7Redundant EntryAUnderstandableInformation required that was previously entered is auto-populatedNo**❌ Not Implemented
3.3.8Accessible Authentication (Minimum)AAUnderstandableAuthentication does not rely on cognitive function testNo**❌ Not Implemented
3.3.9Accessible Authentication (Enhanced)AAAUnderstandableAuthentication does not rely on cognitive function test (enhanced)No**❌ Not Implemented
4.1.1ParsingARobustMarkup has complete start/end tags and proper nestingYesduplicate-id-aria*✅ Partial Coverage
4.1.2Name, Role, ValueARobustName and role can be programmatically determinedYesbutton-name, aria-* rulesMultiple ARIA rules✅ Excellent Coverage
4.1.3Status MessagesAARobustStatus messages can be programmatically determinedNo**❌ Not Implemented

Summary Statistics

Overall Implementation Coverage

  • Total WCAG 2.2 Success Criteria: 80
  • Fully Implemented: 23 (29.5%)
  • Partially Implemented: 8 (10.3%)
  • Not Implemented: 47 (60.2%)

By Conformance Level

LevelTotalImplementedPartialNot ImplementedCoverage Rate
A301141550.0%
AA2092955.0%
AAA28322317.9%

By Principle

PrincipleTotalImplementedPartialNot ImplementedCoverage Rate
1. Perceivable31841938.7%
2. Operable29821934.5%
3. Understandable17211417.6%
4. Robust3210100.0%

Key Findings

Strong Coverage Areas

  1. Text Alternatives (1.1.1) – Comprehensive coverage with multiple axe rules
  2. ARIA Implementation (4.1.2) – Excellent coverage with 20+ dedicated ARIA rules
  3. Language Identification (3.1.1, 3.1.2) – Full coverage
  4. Form Labels (3.3.2) – Good coverage for basic labeling
  5. Bypass Mechanisms (2.4.1) – Full coverage
  6. Color Contrast (1.4.3, 1.4.6) – Full coverage for automated testing

⚠️ Partial Coverage Areas

  1. Media Accessibility (1.2.x) – Limited to basic video captions
  2. Focus Management (2.4.3, 2.4.7) – Basic tabindex checking only
  3. Content Structure (1.3.1) – Good but not comprehensive
  4. Navigation Consistency (3.2.x) – No automated coverage

Major Gap Areas

  1. Context Changes (3.2.1, 3.2.2) – No automated coverage
  2. Error Handling (3.3.1, 3.3.3, 3.3.4) – No automated coverage
  3. Timing and Motion (2.1.x, 2.2.x, 2.5.x) – Very limited coverage
  4. Complex Interactions – Most pointer gesture and motion requirements
  5. Content Quality – Reading level, abbreviations, pronunciation

Implementation Notes

  • Axe-core focuses on automatically testable criteria
  • Many WCAG success criteria require manual testing or human judgment
  • Level AAA has significantly lower automated coverage due to complexity
  • Robust principle has best coverage due to technical nature of requirements

References

This mapping reflects axe-core version 4.11 capabilities and WCAG 2.2 success criteria as of December 2024.

“Pick a decent enough tool and run with it.”-Rushi