NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #2862 most downloaded on pub.dev
Scan Flutter widget trees for WCAG 2.1 accessibility issues (missing labels, low contrast, small tap targets, focus) with fix hints and JSON reports.
Last release 23 days ago
05 Oct 2026
Release timing varies
gaps range from 2 weeks to 1.1 years
Nearly every release is documented
notes for 3 of 3 stable releases
Nothing withdrawn
no release was ever pulled
1 years old
3 releases · first in 2025
flutter_accessibility_scanner v1.2.0
flutter_accessibility_scanner v1.2.0
Reports for CI. Backward compatible with 1.1.
AccessibilityReport.passes(failOn:): one-line severity gate for tests
and CI (a failing expectation makes flutter test exit non-zero).schemaVersion, issuesByType and issuesByWcagCriterion
counts; each issue also carries short rule and level names.
toJson(pretty: true) writes indented, diff-friendly output.AccessibilityReport.fromJson / fromMap and AccessibilityIssue.fromJson
read reports back, e.g. to compare against a saved baseline.AccessibilityReport.toMarkdown() for pull request comments and
$GITHUB_STEP_SUMMARY; issueCountsByWcagCriterion.One column per month.
Migrated off deprecated Color APIs; requires Flutter 3.27+ / Dart 3.6+.
Accuracy, API and tooling overhaul. Source compatible with 1.0; scan results are more precise, so issue counts will change.
GestureDetector, InkWell, every Material button) instead of guessing
from render-object type names, which removes most false positives from
scroll views, pointer listeners and plain containers.Semantics label, Tooltip, or Icon.semanticLabel, including
through MergeSemantics (e.g. CheckboxListTile). Icon glyphs no longer
count as a label.ImageLabelDetector: reports images without semanticLabel that
are not marked excludeFromSemantics (WCAG 1.1.1).Container/ColoredBox,
DecoratedBox, Material, Card and Scaffold, blends translucent
layers and text colors, honours the text scale factor, uses the correct
WCAG "large text" size (24 px, or 18.66 px bold), and checks icon glyphs
against the 3:1 non-text threshold (WCAG 1.4.11).TapTargetDetector(minimumSize: 44)).GestureDetector); InkWell and buttons pass.AccessibilityScanner(detectors: [...]) runs a custom set of detectors,
including your own AccessibilityDetector subclasses.scan(context, minimumSeverity: ...) and scanRenderObject(root).wcagCriterion and global
screen bounds.AccessibilityReport: hasIssues, issuesByType, issuesAtLeast,
issuesOfType, toMap, scannedElements, scanDuration.ColorContrastUtils: relativeLuminance, composite, wcagLevel,
toHex; suggestBetterColor now always returns a passing color with the
smallest change.AccessibilityScannerWidget: outlines each issue on screen, lists issues
with their WCAG criterion, adds onReport, scanner, minimumSeverity,
showHighlights and overlayDuration, and no longer scans its own button.AccessibilityFixerButton: adds tooltip, focusNode, autofocus and
borderRadius; no longer inserts a redundant focus stop or stretches to
fill its parent.AccessibilityFixerText: backgroundColor now actually enforces AA
contrast; long text is no longer truncated for screen readers. Adds
textAlign, maxLines and overflow.const constructors.print output from scans.Color APIs; requires Flutter 3.27+ / Dart 3.6+.Automatic widget tree scanning for accessibility issues
✨ Core Features
🔍 Issue Detection
🛠️ Developer Tools
AccessibilityScanner - Main scanning engineAccessibilityScannerWidget - Real-time development overlayAccessibilityFixerButton - Helper widget for accessible buttonsAccessibilityFixerText - Helper widget for accessible textColorContrastUtils - WCAG color contrast calculations📊 Reporting
🧪 Testing Integration
📚 Documentation
Your coding agent can read these notes before it upgrades. Set up the MCP server →