Skip to content
Gustavo Ravagnani

05Natura & Avon2024

AAA Checker

AI ASSISTED

Manual accessibility audits turned into a working Figma plugin

AAA Checker, project cover

From

A repeated manual audit pass, screen by screen.

To

A rules model running inside the design tool, with judgment left to the designer.

Role
Product logic, interface, documentation and build
Scope
Audit rules, issue classification, plugin interface, messaging and documentation
Team
Built solo, with AI as the development accelerator; demonstrated to the design team
Period
During the 2024 · 2025 Natura & Avon engagement

Current state

Functional plugin, used on real files. Not published.

Context, problem and intervention

Context

Accessibility reviews included repetitive checks that could be evaluated deterministically, while other WCAG decisions still required human judgment. The opportunity was to automate the first category inside Figma, where the design work already lived, without pretending accessibility could be reduced to a checklist.

Problem

An accessibility standard was being applied across a large body of existing design work. The criteria were clear; the same technical checks had to be repeated screen by screen and component by component, and manual inspection did not scale.

Intervention

I encoded the mechanical first pass as product logic, contrast, font size, clickable area, headings, labels and reading order, and built it into a Figma plugin using AI-assisted development.

Problem, rules, build

Three decisions, with the evidence behind each and what it produced.

Decision 01

Automate the mechanical pass, keep judgment human

Accessibility review mixes deterministic checks with decisions that need a designer's reading of context.

Plugin demo. Short video of the plugin running a validation pass.
Evidence
The repeated portion of the work was technical and rule-shaped; the slow portion was volume, not difficulty.
Decision
Scope the tool to WCAG-based checks with conformance-level logic, and leave final judgment and implementation to the designer.
Trade-off
A partial tool can be mistaken for a certification if its scope is not stated inside the product.
Consequence
The plugin reports a first-pass audit, never an accessibility guarantee, and alternative text is explicitly out of scope.
Decision 02

Report a correction, not a violation code

Most audit tooling returns a list of failures the reader still has to interpret.

AAA Checker actionable guidance diagram: problem identified, why it matters and recommended correction
Actionable guidance. How the plugin turns checks into concrete corrections instead of raw violation codes.
Evidence
The designers who would use this needed to act inside the file, immediately, without leaving to look up a criterion.
Decision
For every issue, identify the affected element, explain why it matters and recommend a practical correction.
Trade-off
Writing explanations and recommendations for each rule took longer than emitting pass/fail results.
Consequence
The output became usable by designers who are not accessibility specialists.
Decision 03

Use AI to cross the engineering gap, and stay in control of the product logic

The product logic was mine to define; plugin engineering was not my primary craft.

AAA Checker AI-assisted build diagram with four principles
AI-assisted build. How product logic stayed under control while AI accelerated implementation.
Evidence
The gap between design expertise and the Figma Plugin API was implementation, not conception.
Decision
Own the rules, classification, interface, messaging and expected behavior; use AI to generate the complete implementation and direct debugging through testing and iteration.
Trade-off
The result is a working internal tool, not production-grade engineering with formal code review, maintenance or deployment governance.
Consequence
A functional version existed in about three days instead of remaining a proposal.

AI-directed plugin development

I defined what the plugin needed to evaluate and how it should behave. AI generated the complete implementation code from those requirements.

  1. 01 · Define

    • Accessibility rules & supported checks
    • Issue classification
    • Interface, messages & correction guidance
  2. 02 · Specify

    • Product and technical requirements
    • Expected behavior
    • Constraints & boundaries
  3. 03 · Generate

    • Complete plugin implementation generated with AI
    • JavaScript · Figma Plugin API
  4. 04 · Test

    • Run against real Figma files
    • Inspect failures and incorrect behavior
  5. 05 · Refine

    • Direct fixes and implementation changes
    • Repeat testing until behavior matched the rules
  6. 06 · Output

    • Functional Figma plugin
    • Approximately three days to a working version

I did not manually author each line of JavaScript. My role was to turn accessibility expertise into precise product requirements, direct the implementation and test the generated software until it behaved as intended.

Evidence

AAA Checker rules architecture diagram in six steps
Rules architecture. How each accessibility check is selected, processed and reported inside the plugin.

Constraints and trade-offs

  • First-pass audit only: the plugin does not certify a design as accessible and does not remove manual review.
  • Alternative text is not among the supported checks.
  • Built in JavaScript against the Figma Plugin API; no machine-learning model is involved.

Outcome

In my own workflow the plugin substantially accelerated the initial review compared with checking every item by hand, a qualitative acceleration, observed rather than measured. Other designers responded positively to the demonstration.

Delivered

  • Functional Figma plugin, used on real Natura files.
  • WCAG-based audit rules, issue classification, messaging and documentation.
  • A working demonstration of standards translated into product logic.

Not measured

  • Time saved, productivity gain or team adoption.
  • Distribution: the plugin was not published before my departure.

Next case

Natura & Avon
All projects