sicua
Version:
A tool for analyzing project structure and dependencies
55 lines (54 loc) • 2.67 kB
TypeScript
/**
* 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[];
}