diff --git a/REPORT-website-globe.md b/REPORT-website-globe.md new file mode 100644 index 00000000..c43f3ae2 --- /dev/null +++ b/REPORT-website-globe.md @@ -0,0 +1,63 @@ +# REPORT — the website's language switch becomes a globe (2026-10-08) + +> `REPORT-website-globe.md`, not `REPORT.md`: another session worked in this repo today (commit c7aade40). + +| Part | What | State | +|---|---|---| +| A | The globe on every page, CSS, no JavaScript | **Done, live** (803af479) | +| B | Gates 3 and 13 read the globe from one `LANGS` list; leftover text switch fails; 5 decoys | **Done** | +| C | CHANGELOGs, `.claude/rules/website.md`, `10-localisation.md` ruling 11 + §10.7, STATUS | **Done** | + +Register: before **130**, after **131**, opened **1** (R-903), closed **0**. + +## What was built + +- Every page's nav: `
` with the sprite's `i-globe` (`aria-hidden`), `aria-label`/`title` + „Nyelv" / „Language", a list Magyar, English (same order everywhere). The page's own language points at the page + itself, is bold with a blue rule and carries `aria-current="true"`; the other item points at the twin. +- `site.css`: globe rules for desktop (list below the icon, right-aligned) and for the ≤900 px menu (last item, list + opens in place). Tokens only. `?v=2` → `?v=3` on all 16 pages. **There was no `.lang-switch` rule to retire** — the + text switch had no CSS. +- **No script added.** The controller's globe has no close-on-outside-click or Escape script either (searched + `lang-globe` in its templates and CSS: markup + CSS only). +- The current item is marked by weight and a rule, not by the controller's „✓" (`content: "\2713"`): U+2713 is in + the site's emoji gate range. +- `404.html` and the hidden prices page carry the globe too (their English item points at `/en/`): gate 3 requires one + nav across the Hungarian set, and gate 13 checks their globe's structure (not targets — they have no twin). + +## Decoys (mutation on `website/en/apps.html` → failure line; `documentation/audits/website-globe-2026-10-08/decoys.txt`) + +| Decoy | Failure line | +|---|---| +| Magyar item → `/` | `en/apps.html: the globe's hu item points at '/' — its twin is '/alkalmazasok'` | +| Magyar item also `current` + `aria-current` | `en/apps.html: the globe marks 'hu' as current (class current=True, aria-current=True) — only the page's own language 'en' is` | +| Magyar item removed | `en/apps.html: the globe lists [('en', 'English')] — every page lists exactly [('hu', 'Magyar'), ('en', 'English')], in that order` | +| items swapped | `en/apps.html: the globe lists [('en', 'English'), ('hu', 'Magyar')] — every page lists exactly …` | +| a text switch added back | `en/apps.html: a leftover text language switch (class="lang-switch") — the globe replaced it` (also gate 3: `