Accessibility

Add WCAG accessibility rules to your agents and audit your code.

Three-Prong Approach

Hypr's accessibility approach combines three strategies:

  1. Generate Accessible Code

    Add WCAG rules to your agents so they produce accessible code from the start.

  2. Third-Party Tools

    Integrate tools like axe-core in CI/CD for automated testing.

  3. AI Review

    Use the Accessibility Analyzer for comprehensive audits.

Adding Accessibility Rules

Enable accessibility rules on your existing agents:

/hypr:a11y

This adds WCAG 2.1 AA rules to your frontend and backend executors, so they generate accessible code by default.

Running an Audit

Audit existing code against WCAG criteria:

/hypr:a11y-audit

The Accessibility Analyzer grades your code against all 78 WCAG 2.1 success criteria and reports the conformance level (A, AA, or AAA).

WCAG 2.1 Quick Reference

All 78 success criteria the Accessibility Analyzer checks, grouped by conformance level.

Level A — 30 criteria (minimum accessibility)

Perceivable

ID Name Requirement
1.1.1Non-text ContentImages have alt text
1.2.1Audio-only/Video-onlyProvide transcripts
1.2.2Captions (Prerecorded)Videos have captions
1.2.3Audio DescriptionVideo has description or transcript
1.3.1Info and RelationshipsUse semantic HTML
1.3.2Meaningful SequenceDOM order = visual order
1.3.3Sensory CharacteristicsDon't rely only on shape/color
1.4.1Use of ColorColor not sole indicator
1.4.2Audio ControlCan pause auto-playing audio

Operable

ID Name Requirement
2.1.1KeyboardAll features work with keyboard
2.1.2No Keyboard TrapCan tab away from everything
2.1.4Character Key ShortcutsCan disable single-key shortcuts
2.2.1Timing AdjustableCan extend time limits
2.2.2Pause, Stop, HideCan pause moving content
2.3.1Three FlashesNo fast flashing content
2.4.1Bypass BlocksSkip link or landmarks
2.4.2Page TitledDescriptive page title
2.4.3Focus OrderLogical tab order
2.4.4Link PurposeLink text describes destination
2.5.1Pointer GesturesSingle-point alternatives
2.5.2Pointer CancellationClick on up-event
2.5.3Label in NameAccessible name = visible text
2.5.4Motion ActuationAlternatives to shake/tilt

Understandable

ID Name Requirement
3.1.1Language of Page<html lang="en">
3.2.1On FocusFocus doesn't change context
3.2.2On InputInput doesn't change context
3.3.1Error IdentificationErrors clearly described
3.3.2Labels or InstructionsInputs have labels

Robust

ID Name Requirement
4.1.2Name, Role, ValueCustom components have ARIA

Level AA — 20 criteria (legal standard)

Perceivable

ID Name Requirement
1.2.4Captions (Live)Live video has captions
1.2.5Audio DescriptionVideo has audio description
1.3.4OrientationWorks portrait and landscape
1.3.5Identify Input PurposeUse autocomplete attributes
1.4.3Contrast (Minimum)4.5:1 text, 3:1 large text
1.4.4Resize TextWorks at 200% zoom
1.4.5Images of TextUse real text, not images
1.4.10ReflowNo horizontal scroll at 320px
1.4.11Non-text Contrast3:1 for UI components
1.4.12Text SpacingWorks with increased spacing
1.4.13Content on Hover/FocusDismissible and persistent

Operable

ID Name Requirement
2.4.5Multiple WaysMultiple ways to find pages
2.4.6Headings and LabelsDescriptive headings
2.4.7Focus VisibleVisible focus indicator
2.5.7Dragging MovementsClick alternative to drag
2.5.8Target Size (Minimum)24x24px minimum

Understandable

ID Name Requirement
3.2.3Consistent NavigationSame nav order on all pages
3.2.4Consistent IdentificationSame labels for same functions
3.3.3Error SuggestionSuggest how to fix errors
3.3.4Error PreventionCan review before submit

Robust

ID Name Requirement
4.1.3Status MessagesUse aria-live for updates

Level AAA — 28 criteria (maximum accessibility, not legally required)

Perceivable

ID Name Requirement
1.2.6Sign LanguageSign language for video
1.2.7Extended Audio DescriptionExtended descriptions
1.2.8Media AlternativeFull transcripts for video
1.2.9Audio-only (Live)Live transcripts
1.3.6Identify PurposeAll regions have landmarks
1.4.6Contrast (Enhanced)7:1 text, 4.5:1 large
1.4.7Low Background AudioMinimal background noise
1.4.8Visual PresentationMax 80 chars, good spacing
1.4.9Images of Text (No Exception)No text images except logos

Operable

ID Name Requirement
2.1.3Keyboard (No Exception)Everything keyboard accessible
2.2.3No TimingNo time limits
2.2.4InterruptionsCan postpone interruptions
2.2.5Re-authenticatingPreserve data on timeout
2.3.2Three FlashesNo flashing at all
2.3.3Animation from InteractionsCan disable animations
2.4.8LocationBreadcrumbs present
2.4.9Link Purpose (Link Only)Link text alone is clear
2.4.10Section HeadingsContent has section headings
2.5.5Target Size44x44px minimum
2.5.6Concurrent InputMultiple input methods work

Understandable

ID Name Requirement
3.1.2Language of Partslang on foreign text
3.1.3Unusual WordsDefine jargon/idioms
3.1.4AbbreviationsExpand abbreviations
3.1.5Reading LevelSimple language version
3.1.6PronunciationPronunciation for ambiguous words
3.2.5Change on RequestUser initiates all changes
3.3.5HelpContext-sensitive help
3.3.6Error Prevention (All)Review before all submissions

Most common failures

Issue Criterion Found on % of sites
Low contrast text1.4.383%
Missing alt text1.1.155%
Empty links2.4.450%
Missing form labels3.3.246%
Empty buttons4.1.228%
Missing lang attribute3.1.118%

Related Commands