Low Tide Radio

Reference

Design system

Every ratio was computed with tools/a11y/contrast.py against all three grounds. This page is noindex: it documents the template for whoever builds with it.

The ground is grey on purpose

A black-and-white comic is not printed on white and is not drawn in pure black — it is ink on a grey stock with tone doing the middle values. Every other light template in this library sits between #F1 and #FF; this one sits at #E4E5E0, which is dark enough that a white sheet reads as paper against it. The two tone values exist for the same reason and are allowed to be low-contrast because nothing but panel geometry is ever drawn in them.

One colour, and it is a seal

#8F2A1C is the vermilion of a stamped seal, which on a monochrome comic page is the one place colour legitimately appears. It marks exactly two things: the three chapters a new reader can start at, and the numbers in the record table. Using it for anything else would make it decoration.

Why the pager renders dead ends as text

On chapter 1 there is no previous chapter. A disabled-looking link is still a link in the accessibility tree and still announces as one, so the pager emits a <span> instead of an <a href="#">. It is the same rule the link test enforces library-wide, applied to the one component in this template that has genuine dead ends.

What the JSON-LD refuses to say

The page's claim is that publication order is not reading order: three chapters are marked as places to start and one of them is a standalone. Schema.org can assert exactly one sequence — issueNumber, hasPart and an ItemList's position all say "this comes after that" — so encoding the entry points would turn the page's argument into its opposite. The graph therefore emits publication order and nothing else: no ItemList, no position, no entry-point property, no aggregateRating, and no numberOfPages on the series, because that total is a running count and a consumer would freeze it as a book length. contentRating is emitted per issue, because a content note is a fact about the chapter rather than a claim about order.

Tokens

All colour lives here; the Tailwind config declares no ramps
TokenValueNotes
--color-bg #E4E5E0 Screentone paper — a real grey, not a near-white
--color-bg-alt #D3D5CE Banding
--color-surface #F2F3EF Sheets, cards, untoned panels
--color-text #17191B 13.92 / 11.90 / 15.82:1 · AAA
--color-text-muted #54585A 5.68 / 4.85 / 6.45:1 · AA
--color-border #70746E 3.76 / 3.21 / 4.27 — non-text only
--color-accent #8F2A1C Seal vermilion — 6.59 / 5.64 / 7.49:1 · AA
--tone #C4C7C1 40% screentone. Decorative fill, never behind text
--tone-deep #ADB1AA 60% screentone. Same rule
--color-band #17191B The record inverts: paper on ink
--color-on-band #E4E5E0 13.92:1 on band · AAA
--color-on-band-muted #A2A6A0 7.13:1 on band · AA
--color-accent-on-band #F0836B 6.85:1 on band · AA

Type

Shippori Mincho for display and Zen Kaku Gothic New for figures and UI, both self-hosted through @fontsource and both imported at their latin subset only — the full families carry a Japanese glyph set this page never renders, and shipping it would cost several megabytes to display nothing.