UNPKG

@casoon/auditmysite

Version:

Professional website analysis suite with robust accessibility testing, Core Web Vitals performance monitoring, SEO analysis, and content optimization insights. Features isolated browser contexts, retry mechanisms, and comprehensive API endpoints for profe

102 lines 3.3 kB
/** * AccessibilityChecker v2 - Clean Architecture * * This is a complete rewrite of the AccessibilityChecker with proper * separation of concerns, dependency injection, and typed interfaces. */ import { AccessibilityResult } from '../types'; import { BrowserPoolManager } from '../browser/browser-pool-manager'; import { ILogger, AnalyzerType, BaseAnalysisOptions } from '../analyzers/interfaces'; import { AnalysisResults } from '../analysis/analysis-orchestrator'; /** * Configuration for AccessibilityChecker */ export interface AccessibilityCheckerConfig { readonly poolManager: BrowserPoolManager; readonly logger?: ILogger; readonly enableComprehensiveAnalysis?: boolean; readonly analyzerTypes?: AnalyzerType[]; readonly qualityAnalysisOptions?: any; } /** * Options for testing pages */ export interface PageTestOptions extends BaseAnalysisOptions { readonly pa11yStandard?: 'WCAG2A' | 'WCAG2AA' | 'WCAG2AAA' | 'Section508'; readonly includeNotices?: boolean; readonly includeWarnings?: boolean; readonly wait?: number; readonly hideElements?: string; readonly enableComprehensiveAnalysis?: boolean; readonly skipRedirects?: boolean; } /** * Result from testing a single page */ export interface PageTestResult { readonly url: string; readonly title: string; readonly accessibilityResult: AccessibilityResult; readonly comprehensiveAnalysis?: AnalysisResults; readonly duration: number; readonly timestamp: Date; } /** * Result from testing multiple pages */ export interface MultiPageTestResult { readonly results: PageTestResult[]; readonly skippedUrls: string[]; readonly totalDuration: number; readonly timestamp: Date; } /** * AccessibilityChecker v2 - Clean, focused implementation * * Responsibilities: * - Core accessibility testing via pa11y * - Basic page analysis (images, buttons, headings) * - Orchestration of comprehensive analysis (via AnalysisOrchestrator) * - Browser pool management coordination */ export declare class AccessibilityChecker { private readonly config; private readonly logger; private readonly analyzerFactory?; private readonly analysisOrchestrator?; constructor(config: AccessibilityCheckerConfig); /** * Initialize the accessibility checker */ initialize(): Promise<void>; /** * Cleanup resources */ cleanup(): Promise<void>; /** * Test a single page for accessibility */ testPage(url: string, options?: PageTestOptions): Promise<PageTestResult>; /** * Test multiple pages in parallel with redirect filtering */ testMultiplePages(urls: string[], options?: PageTestOptions): Promise<MultiPageTestResult>; /** * Test URL for basic connectivity (used by SmartUrlSampler) */ testUrlMinimal(url: string, timeout?: number): Promise<AccessibilityResult>; /** * Get available analysis types */ getAvailableAnalysisTypes(): AnalyzerType[]; private configurePage; private runBasicAccessibilityAnalysis; private runPa11yTests; } /** * Error classes */ export declare class AccessibilityTestError extends Error { constructor(url: string, message: string); } //# sourceMappingURL=accessibility-checker-v2.d.ts.map