scanAccessibility function
Scans fileContents (path → source text) against rules, dropping
anything baseline suppresses. A file present in fileContents with
no violations contributes nothing — this function never reports
"clean" files, only actual findings.
Implementation
List<AuditViolation> scanAccessibility({
required Map<String, String> fileContents,
List<AuditRule> rules = const [],
AuditBaseline baseline = AuditBaseline.empty,
}) {
final effectiveRules = rules.isEmpty ? defaultAuditRules : rules;
final violations = <AuditViolation>[];
for (final entry in fileContents.entries) {
for (final rule in effectiveRules) {
if (_violatesRule(rule, entry.value)) {
final violation = AuditViolation(
file: entry.key,
ruleId: rule.id,
severity: rule.severity,
description: rule.description,
);
if (!baseline.suppresses(violation)) {
violations.add(violation);
}
}
}
}
return violations;
}