Advanced Science Pro Feature v1.2.0

APCA Readability Algorithm

Preview the future of digital accessibility with the Advanced Perceptual Contrast Algorithm, calculating human readability based on spatial frequency and polarity.

Why the web accessibility community is moving to APCA

WCAG 2.1's contrast formula was formulated in 2008. While it has been foundational for web accessibility, modern display science has revealed significant flaws: it frequently fails combinations that are easily readable by human eyes, while passing combinations that are virtually unreadable (such as thin hairline fonts in dark mode).

APCA (Advanced Perceptual Contrast Algorithm) is the candidate contrast method developed for the upcoming W3C WCAG 3 guidelines. TintSense includes a native APCA engine so you can design for tomorrow's standards today.

The Perceptual Contrast Formula

Unlike WCAG 2.1 which uses a simple ratio of relative luminances, APCA calculates Lightness Contrast (Lc) ranging from -108 to +106. APCA accounts for human contrast constancy, pupil size adjustments, and non-linear photoreceptor response:
sapc = (Y_bg^0.56 - Y_txt^0.57) × 1.14 (Dark on Light)

Core Improvements Over WCAG 2.1

1. Polarity Awareness

Human vision perceives dark text on a white background differently than white text on a black background (due to halation and optical scatter). WCAG 2.1 gives both directions the exact same numerical ratio (21:1). APCA dynamically adjusts its exponent depending on whether your text is light-on-dark or dark-on-light.

2. Font Size & Weight Context

In WCAG 2.1, 4.5:1 is required whether your font is an ultra-thin 12px caption or a heavy 48px bold headline. APCA models spatial frequency: thicker, larger letterforms require less contrast than thin, delicate letterforms:

APCA REQUIRED LC BY TYPOGRAPHIC WEIGHT SPATIAL FREQUENCY THRESHOLDS
DISPLAY / HEADINGS
≥ 24pt or 18pt Bold
Required: Lc 45
MEDIUM TEXT / SUBTITLES
≥ 16pt Bold
Required: Lc 50
BODY / SMALL TEXT
< 16pt Regular
Required: Lc 60

3. No More Dark Mode Inconsistencies

Dark mode designs often struggle under WCAG 2.1 because pure white text on dark backgrounds causes harsh visual vibration (halation). APCA guides you toward softer, comfortable light grays that remain 100% readable without causing eye fatigue.

How to enable in Figma

  1. Open TintSense and click the Settings icon (gear).
  2. Scroll to the APCA (Pro) section and toggle Enable APCA on.
  3. Run a scan. Every text row and canvas badge will now display both the WCAG ratio and the APCA $L_c$ value.