Skip to content

The accent-gold ? on enterprise-ontology-race-open-vs-closed/cover{,-en}.svg reads at 1.79:1 — but the mechanical darkening rule cannot be applied to it #181

Description

@hotlong

Found by the #166 sweep (PR for that card touches five other files). Reported rather than fixed, because the fix the #166 ruling prescribes does not apply cleanly here and the remaining options are palette decisions.

What was measured

Same method as #140/#167: Chromium at native viewBox size, getComputedStyle().fill per text leaf, ground sampled as the median of nine pixels across the glyph box in a second raster with text{visibility:hidden}.

File class size fill ground ratio floor
enterprise-ontology-race-open-vs-closed/cover-en.svg .accent 40px w800 #e8b04b #eff7f3 1.794 3.0
enterprise-ontology-race-open-vs-closed/cover.svg .accent 40px w800 #e8b04b #eff7f3 1.794 3.0

One node per file: the large ? in the centre of the cover, between the vendor column and the open-definition card. After the #166 PR these are the only two text nodes left under 3:1 anywhere in content/blog/**/*.svg.

Why #166's rule does not settle it

#166's ruling is written for de-emphasised labels — "keep the hue, change the lightness … a de-emphasised label must still read as de-emphasised". This node is the opposite: it is the composition's emphasis mark, in the brand accent gold, and both routes to darkening it break something the ruling explicitly fences off.

  • Recolouring the class is out. .accent is not a text-only class in this file. It also fills the five padlock rects on the vendor chips:
    <g transform="translate(360 13)"><rect y="14" width="40" height="32" rx="7" class="accent"/>…
    Changing .accent would recolour non-text geometry — a ground/decoration change, which the ruling forbids.
  • An inline override on the text splits the accent. The smallest hue-preserving step that clears 3:1 here is #e8b04b → #bd8218 (L 0.602 → 0.418). But the ? is visually fused with the gold arrow stroke 28px to its right — they read as one glyph pair ? → — and that arrow is a path with stroke="#e8b04b", as are the five padlocks. The result would be two different golds inside one composition, adjacent.

Both renders were looked at at native size to confirm this: the ? does not read as a faint or broken label, it reads as the accent mark it is; the low ratio comes from gold-on-near-white being intrinsically low-contrast, not from anything the cascade or the author got wrong.

If it is taken up

The real options are design calls, not mechanical ones, which is why this is filed rather than swept:

  1. Leave it. It is decorative-adjacent — the ? carries no information the surrounding text does not, and the aria-label does not depend on it. Arguably WCAG 1.4.3 does not bind a purely decorative glyph.
  2. Darken the accent gold site-wide, geometry included, so the ?, the arrow and the padlocks stay one colour. #e8b04b appears on dark grounds in enterprise-agent-true-cost, eu-ai-act-runtime-audit and why-ai-agent-pilots-fail-four-layers, where it currently passes comfortably — darkening it would need re-measuring there.
  3. Put the ? on a ground that carries it (e.g. the same treatment the padlocks get — accent fill with a dark glyph), which is a layout change.

Recording only; unassigned. Numbers are re-measurable with the sweep method described above.

Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions