function
<Component />
return
const
interface
{ }
color.primary
TS
() => {}
spacing.xl
dev
tokens
[ ]
code
<T>
type
async
font.sans
JS
TypeScript
export
[React, ...skills]
components
import
border.radius
props
default
?.
tokens
shadow.lg
await
&&
class
<Props>
accessibility
variables
transition
JSX
</>
theme
motion
( )
hooks
state
utils
wcag
responsive
grid
flex
scale
{ml}
Back to artifacts
Feb 12, 20262 min read

a11y Companion v2.0.0: Contrast Tools Shouldn't Lie

Why the v2.0.0 contrast inspector refuses false confidence, and what that means for honest WCAG implementation in Figma workflows.

a11yaccessibilitywcagfigmafigjamopen-source
♿️ a11y Companion v2.0.0 is live.
If you want to track WCAG work inside Figma and FigJam, without spreadsheet theater, this is for you.
Source checklist: The A11Y Project. Standards target: W3C WCAG.
a11y Companion v2.0.0 release preview

The part most tools skip

Most contrast tools lie by omission.
They show a ratio. They give you AA or AAA. They rarely tell you what they cannot evaluate.
When building the Contrast Inspector for v2, I made a deliberate choice: only support what can be evaluated honestly.
  • Supported:
    • solid on solid
    • solid on single gradient
    • single gradient on solid
  • Explicitly unsupported:
    • dual gradients
    • image fills
    • mixed or complex paint stacks
If the system cannot evaluate it reliably, it says so. No fake certainty. No "looks compliant" theater.
Accessibility tooling should reduce false confidence, not create it.

What's new in v2.0.0

  • Contrast Inspector with on-canvas preview and gradient-aware checks
  • Light and dark modes with six readable accent themes
  • Templates for common checklist scopes
  • Markdown export with WCAG level coverage summary
  • Avatar activity tracking from real check and uncheck actions
  • Refreshed UI and faster performance
Under the hood, this release also hardens the foundation:
  • Variable-first design-system guardrails and baseline checks
  • WCAG contrast automation scripts and nearest safe shade-step suggestions
  • Runtime contrast-safe accent resolution for themed UI states
  • Canonical variable imports and cleanup of legacy alias paths

Guided checklist, not automated audit

This is a guided checklist, not an automated audit.
It is built for real teams doing real reviews, in the file, with shared context visible in Figma and FigJam.
That distinction matters. A ratio alone is not a full accessibility decision. You still need people, judgment, and explicit boundaries around what the tool can and cannot assert.

Why I keep tightening this

Accessibility is personal for me. I have been the eyes and ears for my legally blind and deaf brother for decades. I have watched him burn time on sites that do not care.
That is why I built this, and why I keep tightening it.

Links

© 2026 Mark Learst.Crafted with precision
privacy
v2026.1.0