Rebuild the site on colour-blocked bands, with two themes - #11
Merged
Conversation
The datasheet look was one commission ago. This one follows a different brief: the shape of an agency site - white ground, a bright band, a dark band, cards on a small radius, pill controls - in our own palette rather than the reference's. Amber where theirs is lemon yellow, and the mark's indigo where theirs is crimson. Sections are mapped to what an open-source organisation actually has rather than copied. An agency shows services, expertise, client references and articles. Here that is projects, the stack and why each piece is in it, measurements, and the notes and the course. The references section is the one that could not be transplanted honestly: there are no clients and no case studies, so it shows stadion's headroom table and the reproduce command instead, and says plainly that is what it is doing. Two themes, which reverses the single-scheme decision from the last rebuild. The system preference decides, the toggle overrides it, and the choice is stored under `theme`. That makes clause 7 of the privacy policy wrong again in the other direction - it currently promises nothing is stored - so it now describes exactly what is kept, where, and what happens when a reader clears it. Kept: the OG card and its meta, the apple-touch icon, the JSON-LD graph, the commercial-enquiries route, and the footer line pointing at check_site.py. Two contrast failures found and fixed while measuring rather than after: The rule paragraphs on the dark band came out at 2.4:1, because `.band-dark p` and `.rule p` have identical specificity and the later one won. The band overrides are now one class deeper, so a band always beats a component. The small text on the amber band sat at 4.4:1 - under AA, and only visible because the browser could not compute a `color-mix()` against its own background, so the effective colour had to be composited by hand. Raised to 84%, which puts every string on that band above 6.5:1. Both themes now clear AA on every measured pair: body, eyebrows, card text, tags, links, table captions, footer links, and the dark and amber bands.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A different brief from the last rebuild: the shape of an agency site — light ground, a bright band, a dark band, cards on a small radius, pill controls — in our own palette rather than the reference's.
Palette shifted, structure kept. Amber
#f0b429where the reference uses lemon yellow, and the mark's indigo#4f46e5where it uses crimson. Warm off-white ground rather than pure white.Sections, mapped rather than copied
An agency site shows services, expertise, client references and articles. An open-source organisation has four of those and not the third:
Evidence is the one that could not be transplanted honestly. There are no clients and no case studies to show, so the section shows stadion's headroom table with the command that reproduces it, and opens by saying that is what it is doing. Inventing a logo wall would have been the easy version and the wrong one.
Two themes
This reverses the single-scheme decision from #8. The system preference decides, the toggle overrides it, and the choice is stored under
theme.That makes clause 7 of the privacy policy wrong again, in the other direction — after #8 it promises nothing is stored at all. It now describes what is kept, under which key, that it never leaves the browser, and what happens if a reader clears it or blocks local storage.
Kept from your last two commits
The OG card and its meta,
apple-touch-icon, the JSON-LD@graph, the commercial-enquiries route, and the footer line pointing atcheck_site.py. Anchors renamed with the sections, so the legal page's navigation follows.Two contrast failures, found while measuring
Rule paragraphs on the dark band: 2.37:1.
.band-dark pand.rule phave identical specificity, so the later one won and the paragraphs rendered in the light theme's grey on near-black. The band overrides are now one class deeper, so a band always beats a component.Small text on the amber band: 4.43:1 — under AA. This one only surfaced because the browser could not compute a
color-mix()value against its own background; the naive reading came back as2147400.19, and the effective colour had to be composited by hand to get a real number. Raised from 70% to 84%, which puts every string on that band above 6.5:1.Verified
scripts/check_site.pypasses on all four pages. Cross-language scan finds no unmarked text on either landing page.Contrast measured in-browser on both themes by compositing each foreground over its actual band,
belowAA: []across body text, eyebrows, card text, tags, inline links, table captions and headers, footer links, and the dark and amber bands.Layout: no horizontal overflow at 1280px or at mobile width, burger replaces the nav below 760px and opens, the measurement table has
overflow-x: autoas a floor. Toggle persists across a reload and flips its icon andaria-label.Every outbound host on the page checked:
drobyshevdev.github.io,github.com,pypi.org,opensource.org,apache.org. The research links resolve, including the Russian ones. Nothing links to/stadion/, which is still a 404 until its documentation lands.