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

140 lines 4.18 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>; /** * Pre-filter redirects from URL list */ private preFilterRedirects; /** * Create queue with callbacks */ private createQueue; /** * Collect results from queue execution */ private collectResults; /** * Test URL for basic connectivity (used by SmartUrlSampler) */ testUrlMinimal(url: string, timeout?: number): Promise<AccessibilityResult>; /** * Get available analysis types */ getAvailableAnalysisTypes(): AnalyzerType[]; /** * Check if comprehensive analysis should be run */ private shouldRunComprehensiveAnalysis; /** * Run comprehensive analysis on a page */ private runComprehensiveAnalysis; /** * Configure page settings before navigation */ private configurePage; private runBasicAccessibilityAnalysis; /** * Run pa11y accessibility tests */ private runPa11yTests; /** * Process pa11y issues and add them to result */ private processPa11yIssues; /** * Calculate pa11y score based on issues */ private calculatePa11yScore; /** * Calculate fallback score when pa11y fails */ private calculateFallbackScore; } /** * Error classes */ export declare class AccessibilityTestError extends Error { constructor(url: string, message: string); } //# sourceMappingURL=accessibility-checker.d.ts.map