Analysers

The 14accessibility analysers that ship with Paradise. Each takes the integrated DocumentModel — HTML plus the ActionLanguage intermediate representation (IR) plus CSS, see Architecture — and reports a specific class of issue. Pick any to see what it detects, the WCAG criteria it maps to, and a short broken-code example.

Multi-model analysers

MouseOnlyClickAnalyzer
Reports click handlers without a keyboard equivalent. Cross-file aware.
OrphanedEventHandlerAnalyzer
Detects handlers attached to selectors that don't resolve to any element.
MissingAriaConnectionAnalyzer
Validates aria-labelledby, aria-describedby, and aria-controls targets exist.
VisibilityFocusConflictAnalyzer
Catches focusable elements hidden by CSS — keyboard reaches them, sight does not.
FocusOrderConflictAnalyzer
Detects chaotic tabindex patterns across the page (positive values, gaps).
KeyboardNavigationAnalyzer
Validates that custom widgets implement the keyboard patterns their roles imply.
ARIASemanticAnalyzer
Validates ARIA role / state / property combinations against the WAI-ARIA spec.
WidgetPatternAnalyzer
Validates all twenty-one WAI-ARIA widget patterns end-to-end.

Framework-specific analysers

ReactA11yAnalyzer
React-specific patterns: hooks, portals, ref forwarding, event propagation.
SvelteReactivityAnalyzer
Svelte directives: bind:, on:, class:, transition: applied to a11y patterns.
VueReactivityAnalyzer
Vue patterns: v-model, v-on, v-if, v-show, scoped slots.
AngularReactivityAnalyzer
Angular patterns: [(ngModel)], structural directives, change detection.

JavaScript analysers

FocusManagementAnalyzer
Validates focus changes — moves to dialogs, restoration, traps.

Structural HTML analysers

StructuralHTMLAnalyzer
Document structure: headings hierarchy, landmark coverage, list nesting.

Reading on