Base class for rules that evaluate each node independently.
Stable id used in configuration, reports, and issue ids.
Human-readable rule name shown in reports.
Severity assigned to issues produced by this rule.
Optional WCAG criterion associated with this rule.
Entry point called by the scanner engine. Sealed final so cross-cutting concerns (logging, timing, exception guarding) can be added here without touching every concrete rule.
Evaluates an entire node list.