attest 0.9.0
attest: ^0.9.0 copied to clipboard
Continuous accessibility-compliance engine for Flutter. Pure-Dart rules that map findings to WCAG and EN 301 549 success criteria, with CI baseline gating.
Changelog #
All notable changes to this package are documented here. The format follows Keep a Changelog and this project adheres to Semantic Versioning.
0.9.0 #
Changed #
attest/state-exposednow fires on a group of two or more custom controls (down from three), catching small segmented/toggle pairs that expose no selected state.
0.8.0 #
Added #
- Versioned standard packs:
Standard(en301549_v3_2_1,wcag22) andRuleConfig.standard. The engine runs a rule only when its criterion belongs to the selected pack, soattest/target-size(WCAG 2.5.8) is active only underwcag22.
0.7.0 #
Added #
TranscriptGenerator, which turns a snapshot into the screen-reader announcement sequence, and anAuditReport.transcriptfield to carry it.
0.6.0 #
Added #
- Report layer:
Baseline(accepted-fingerprint set with JSON),BaselineGate(new/known/resolved diff), andSarifWriter(SARIF 2.1.0 output).
0.5.0 #
Added #
- Three heuristic rules, each tagged
heuristicand suppressible:attest/heading-structure(1.3.1),attest/focus-order(2.4.3) andattest/state-exposed(4.1.2). RuleConfig.disabledRulesto mute individual rules across a run.
0.4.0 #
Added #
attest/contrastrule (WCAG 1.4.3): 4.5:1 for normal text, 3:1 for large, disabled controls exempt, borderline ratios downgraded to a warning.SemanticsSnapshot.copyWith.
Changed #
ContrastSamplenow carries the label, bounds, font size, weight and disabled state so the rule is self-contained.
0.3.0 #
Added #
attest/text-overflowrule (WCAG 1.4.4) reading the text-scale observations, and theResize Textcriterion.
0.2.0 #
Added #
- Three geometry and reachability rules:
attest/target-size(WCAG 2.5.8, with a configurable platform/WCAG-minimum threshold),attest/focus-trap(2.1.1), and the heuristicattest/ambiguous-name(2.4.6). TargetSizeModeand thetargetSizeMode/platformTargetSizeoptions onRuleConfig.
0.1.0 #
Added #
- Serializable, Flutter-free data model:
SemanticsSnapshot,SemanticsNodeData,Finding,Criterion,AuditReportand friends, all with value equality and JSON round-trip. Ruleinterface,RuleEngine,RuleConfig/RuleContext, and a stable, coordinate-freeFingerprinterfor baseline diffing.- The first four tree-walking rules:
attest/interactive-name,attest/image-alt,attest/placeholder-nameandattest/field-label, each bound to a WCAG and EN 301 549 criterion.