Skip to content

PR-SPEC-D11 · Lock label primary tier = APCA Lc 75 / WCAG 7:1 (Apple HIG body text) - #31

Merged
lemone112 merged 2 commits into
mainfrom
devin/1777079161-spec-d11
Apr 25, 2026
Merged

PR-SPEC-D11 · Lock label primary tier = APCA Lc 75 / WCAG 7:1 (Apple HIG body text)#31
lemone112 merged 2 commits into
mainfrom
devin/1777079161-spec-d11

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Apr 25, 2026

Copy link
Copy Markdown
Contributor

Summary

Locks SPEC §10.D11 — the dual-criterion (APCA + WCAG) label tier targets and the Apple HIG body-text primary level. Salvaged from the closed PR #27 (PR-M); the underlying decisions are still right, only the implementation needs to wait for the post-v0.3 pipeline.

Decision (locked)

tier normal target ic target
primary Lc 75 / WCAG 7.0:1 Lc 90 / WCAG 10.5:1
secondary Lc 60 / WCAG 4.5:1 Lc 75 / WCAG 7.0:1
tertiary Lc 45 / WCAG 3.0:1 Lc 60 / WCAG 4.5:1
quaternary Lc 30 / WCAG 2.0:1 Lc 45 / WCAG 3.0:1

Resolver picks stricter L between APCA-inverse and WCAG-inverse searches per token. Fills and borders stay APCA-only (surface-contrast rules, not text-contrast rules).

Why

  • Dual-criterion: APCA over-weights short-wavelength blues and WCAG over-weights near-luminance pairs. label-brand-primary on white can hit APCA 60 while only reaching WCAG ~3:1. Stricter-of-both gives a safe envelope.
  • Apple HIG primary: original Lc 60 is APCA's "incidentally read" minimum (footnotes). Apple HIG labelColor is ~Lc 90 — body text. The intent here is body-text-grade primary.

What's NOT in this PR

  • No code changes. This is a SPEC-only update locking the decision. Implementation waits for PR-N4, after the v0.3 RFC-005 (Bezold-Brücke) pipeline lands. Re-applying the WCAG floor work on top of the post-v0.3 pipeline is cleaner than rebasing PR-M's pre-v0.2 changes.

Review & Testing Checklist for Human

(Risk: green — pure documentation update, no code.)

  • Confirm the tier table. This is the central design decision, taste-bound.
  • Confirm "stricter-of-both" rule is the right call for label tiers (vs APCA-only or vs WCAG-only).

Notes

Link to Devin session: https://app.devin.ai/sessions/b536bd94e35841f0be9bb93829697a46
Requested by: @lemone112


Open in Devin Review

…ple HIG body text)

Locks the dual-criterion (APCA + WCAG) label tier targets and the
Apple-HIG body-text primary level (Lc 75 / WCAG 7.0:1, not Lc 60).
Salvaged from PR #27 (PR-M, closed 2026-04-25 because pre-SPEC-v0.2
pipeline made rebase costly). Re-implementation queued as PR-N4
(post-v0.3 RFC-005 Bezold-Brücke pipeline).

Co-Authored-By: jaquan_boyer84 <lemonesqeezy@gmail.com>
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

devin-ai-integration[bot]

This comment was marked as resolved.

Co-Authored-By: jaquan_boyer84 <lemonesqeezy@gmail.com>
@lemone112
lemone112 merged commit f3355ad into main Apr 25, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant