Aero goes underwater with rising bubbles; floating cookie notice; Czech title
Frutiger Aero, closer to the mock: - The scene is water now: sun shafts through a bright surface, caustic patches, reeds on the left, a city silhouette on the right, and ten soap bubbles that actually rise (own keyframes, varied sizes/speeds/sway; the spans are display:none outside aero so they cost nothing elsewhere, and they sit still under reduced motion). - Pale blue glass at 0.8: still reads as glass, but dark navy text clears 4.5:1 over the water. The phone tab bar mixes the sheet glass instead of the page — in aero the page *is* the water, which left its labels at 3.9:1. - The aero page-level text (muted/subtle) is much darker for the same reason. - The PWA status bar follows the new water blue (#2fa7e6). The cookie notice is floating glass now (blurred backdrop, rim, shadow): as a plain card it read as part of the page background instead of a notice. Czech: "Tvoje mraznička" -> "Tvůj mrazák" (library title), test updated. Contrast: 0 below-minimum findings and 0 axe violations across every screen, all three themes. Version 0.2.1, SW -> freezmo-v55.
This commit is contained in:
parent
e56653dae1
commit
67e2cefcfe
11 changed files with 194 additions and 71 deletions
15
README.md
15
README.md
|
|
@ -1403,9 +1403,13 @@ Things I chose while building, with the reasoning:
|
|||
grass, glossy glass with the classic horizon gloss, aqua buttons) and the scene (the glacier
|
||||
blobs become clouds, the orbs soap bubbles) — so the light/dark toggles (header, rail, chat
|
||||
header) hide while it is on and the picker says so. The pre-paint script applies the class
|
||||
before the first paint, the PWA status bar follows it (#3fa3e0), and its muted/frost text is
|
||||
darker than Light's because those labels sit directly on the sky. Covered by the axe and
|
||||
pixel-contrast scans in all three themes.
|
||||
before the first paint and the PWA status bar follows it (#2fa7e6). The scene is an underwater
|
||||
one: sun shafts, caustic patches, reeds on the left, a city silhouette on the right and ten
|
||||
rising bubbles (`.ice-bubble` — `display: none` outside aero, so they cost nothing in the other
|
||||
themes, and they sit still under reduced motion). Its glass is a pale blue at 0.8 opacity:
|
||||
transparent enough to read as glass, opaque enough that the dark navy text clears 4.5:1 over the
|
||||
water — and the phone tab bar mixes the sheet glass rather than the page, which in aero *is* the
|
||||
water. Covered by the axe and pixel-contrast scans in all three themes.
|
||||
|
||||
62. **Accessibility: axe is clean everywhere, and contrast is measured on real pixels.** axe cannot
|
||||
judge text on blurred glass — it reports those nodes as "incomplete" — so `tests/contrast.mjs`
|
||||
|
|
@ -1584,8 +1588,9 @@ Freezmo ships its own plain-language documents, in both app languages, rendered
|
|||
| `/cookies` | No cookies at all (verified: no `Set-Cookie`, no `document.cookie`), what the strictly-necessary local storage holds, no tracking, and how to clear it. |
|
||||
|
||||
A cookie notice (`components/CookieConsent.tsx`) tells every new browser the same thing once and
|
||||
remembers the dismissal (`freezmo.consent.v1`). It sits below the immersive feeds in the stacking
|
||||
order, so it can never cover a study session, and above the phone tab bar. Settings links all three
|
||||
remembers the dismissal (`freezmo.consent.v1`). It is floating glass — blurred backdrop, rim and
|
||||
shadow — so it reads as a notice above the page rather than part of it. It sits below the immersive
|
||||
feeds in the stacking order, so it can never cover a study session, and above the phone tab bar. Settings links all three
|
||||
documents. The documents describe what the code actually does — keep them in step with it.
|
||||
|
||||
## License
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue