UNPKG

sicua

Version:

A tool for analyzing project structure and dependencies

55 lines (54 loc) 2.67 kB
/** * Accessibility rule definitions using the rule-based system * Each rule contains metadata and validation logic */ import { A11yRule } from "../types/accessibilityTypes"; export declare const A11Y_RULES: Record<string, A11yRule>; export declare const RULE_CATEGORIES: { readonly IMAGES: readonly ["img-alt", "img-alt-meaningful"]; readonly FORMS: readonly ["input-label", "fieldset-legend"]; readonly INTERACTIVE: readonly ["button-text", "link-text", "link-text-descriptive", "interactive-role"]; readonly ARIA: readonly ["aria-role-valid", "aria-hidden-value", "aria-expanded-value", "aria-empty-value"]; readonly STRUCTURE: readonly ["html-lang", "heading-hierarchy-start", "heading-hierarchy-skip", "duplicate-id"]; }; export declare const WCAG_LEVELS: { readonly A: readonly ["img-alt", "img-alt-meaningful", "input-label", "fieldset-legend", "button-text", "link-text", "interactive-role", "aria-role-valid", "aria-hidden-value", "aria-expanded-value", "aria-empty-value", "html-lang", "duplicate-id"]; readonly AA: readonly ["link-text-descriptive", "heading-hierarchy-start", "heading-hierarchy-skip"]; readonly AAA: readonly []; }; export declare const SEVERITY_LEVELS: { readonly error: readonly ["img-alt", "input-label", "button-text", "link-text", "aria-role-valid", "aria-hidden-value", "aria-expanded-value", "html-lang", "duplicate-id"]; readonly warning: readonly ["img-alt-meaningful", "fieldset-legend", "link-text-descriptive", "interactive-role", "aria-empty-value", "heading-hierarchy-start", "heading-hierarchy-skip"]; readonly info: readonly []; }; export declare const MULTI_ELEMENT_RULES: readonly ["heading-hierarchy-start", "heading-hierarchy-skip", "duplicate-id"]; export declare class A11yRuleManager { /** * Get all rules for a specific WCAG level */ static getRulesByWCAGLevel(level: "A" | "AA" | "AAA"): A11yRule[]; /** * Get all rules for a specific severity level */ static getRulesBySeverity(severity: "error" | "warning" | "info"): A11yRule[]; /** * Get all rules in a specific category */ static getRulesByCategory(category: keyof typeof RULE_CATEGORIES): A11yRule[]; /** * Get all rule IDs */ static getAllRuleIds(): string[]; /** * Check if a rule requires multi-element validation */ static isMultiElementRule(ruleId: string): boolean; /** * Get rules that apply to a specific element tag */ static getRulesForElement(tagName: string): A11yRule[]; /** * Get rules that check for specific props */ static getRulesForProps(props: string[]): A11yRule[]; }