n8n-nodes-pdf-accessibility
Version:
AI-powered PDF accessibility automation for N8N - comprehensive WCAG compliance analysis, intelligent remediation, and professional audit reporting with 5 integrated accessibility tools
108 lines (107 loc) • 3.36 kB
TypeScript
import { ToolExecutionResult, AccessibilityIssue, AccessibilityFix } from '../tools/AccessibilityToolsManager';
export interface AccessibilityAuditReport {
executive_summary: {
document_name: string;
audit_date: string;
wcag_level: string;
overall_score: number;
total_issues: number;
total_fixes: number;
compliance_status: 'compliant' | 'partial' | 'non_compliant';
};
document_analysis: {
file_info: {
name: string;
size: number;
pages: number;
language: string;
};
content_analysis: {
has_images: boolean;
has_tables: boolean;
has_links: boolean;
text_length: number;
};
};
accessibility_findings: {
issues_by_severity: {
critical: AccessibilityIssue[];
high: AccessibilityIssue[];
medium: AccessibilityIssue[];
low: AccessibilityIssue[];
};
wcag_compliance: {
level_a: {
total: number;
passed: number;
failed: number;
};
level_aa: {
total: number;
passed: number;
failed: number;
};
level_aaa: {
total: number;
passed: number;
failed: number;
};
};
};
improvements_applied: {
fixes_by_type: Record<string, AccessibilityFix[]>;
before_after_comparison: {
before_score: number;
after_score: number;
improvement_percentage: number;
};
};
tool_execution_details: ToolExecutionResult[];
recommendations: {
immediate_actions: string[];
long_term_improvements: string[];
best_practices: string[];
};
export_formats: {
json: string;
html: string;
markdown: string;
csv: string;
};
}
export declare class AdvancedReportingEngine {
/**
* Generate comprehensive accessibility audit report
*/
static generateAuditReport(toolResults: ToolExecutionResult[], documentInfo: any, wcagLevel: string, beforeScore: number, afterScore: number): AccessibilityAuditReport;
/**
* Generate visual diff representation of changes
*/
static generateVisualDiff(beforeData: any, _afterData: any): {
summary: string;
changes: Array<{
category: string;
before: string;
after: string;
improvement_type: string;
}>;
metrics: {
total_changes: number;
accessibility_improvements: number;
wcag_criteria_addressed: string[];
};
};
/**
* Export report in multiple formats
*/
static exportReport(report: AccessibilityAuditReport, format: 'json' | 'html' | 'markdown' | 'csv'): string;
private static groupIssuesBySeverity;
private static groupFixesByType;
private static calculateWCAGCompliance;
private static determineComplianceStatus;
private static generateRecommendations;
private static generateExportFormats;
private static generateHTMLReport;
private static generateMarkdownReport;
private static generateCSVReport;
}