@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
85 lines • 2.27 kB
TypeScript
import { Page } from 'playwright';
/**
* Enhanced ARIA Analysis Results
*/
export interface AriaAnalysisResults {
totalAriaElements: number;
validAriaUsage: number;
invalidAriaUsage: number;
ariaLabelIssues: number;
ariaDescribedByIssues: number;
ariaRequiredIssues: number;
ariaMultilineIssues: number;
roleIssues: number;
landmarkRoles: string[];
interactiveRoles: string[];
impactBreakdown: {
critical: number;
serious: number;
moderate: number;
minor: number;
};
ariaScore: number;
enhancedFeatures: {
permissiveAriaHandling: boolean;
descendantLabeling: boolean;
modernAriaSupport: boolean;
};
recommendations: string[];
}
/**
* ARIA Impact Levels (aligned with axe-core v4.10)
*/
export declare enum AriaImpactLevel {
CRITICAL = "critical",
SERIOUS = "serious",
MODERATE = "moderate",
MINOR = "minor"
}
/**
* Enhanced ARIA Rules Analyzer
* Leverages axe-core v4.10 improved ARIA attribute support
*/
export declare class AriaRulesAnalyzer {
/**
* Analyze ARIA usage on a page with enhanced axe-core v4.10 features
*/
analyzeAriaUsage(page: Page): Promise<AriaAnalysisResults>;
/**
* Analyze individual element ARIA usage (runs in browser context)
*/
private analyzeElementAria;
/**
* Analyze landmark roles usage
*/
private analyzeLandmarkRoles;
/**
* Analyze interactive roles usage
*/
private analyzeInteractiveRoles;
/**
* Detect enhanced ARIA features support (axe-core v4.10)
*/
private detectEnhancedAriaFeatures;
/**
* Calculate overall ARIA score (0-100)
*/
private calculateAriaScore;
/**
* Generate enhanced ARIA recommendations
*/
private generateAriaRecommendations;
/**
* Get default ARIA analysis in case of errors
*/
private getDefaultAriaAnalysis;
/**
* Get human-readable impact level description
*/
getImpactDescription(level: AriaImpactLevel): string;
/**
* Check if page has comprehensive ARIA implementation
*/
hasComprehensiveAria(analysis: AriaAnalysisResults): boolean;
}
//# sourceMappingURL=aria-rules-analyzer.d.ts.map