diff --git a/server/pruef-chatkachel.mjs b/server/pruef-chatkachel.mjs index 8699299a..4fc981a9 100644 --- a/server/pruef-chatkachel.mjs +++ b/server/pruef-chatkachel.mjs @@ -442,16 +442,45 @@ try { const wahl = await s.evaluate(() => { const dlg = document.querySelector("#kachel-wahl[open]"); const toene = [...document.querySelectorAll(".chat-kachelwahl__ton")]; + const ring = document.getElementById("kachelrad-ring"); return { offen: !!dlg, toene: toene.length, + /* Der Farbkreis ist ein Schieberegler, kein Satz von Knoepfen. + Was auf ihm liegt, waehlt man durch Drehen. */ + ring: !!ring, + ringBedienbar: ring ? ring.getAttribute("role") === "slider" : false, + ringSagtFarbe: ring ? (ring.getAttribute("aria-valuetext") || "") : "", mitNamen: toene.filter((t) => (t.getAttribute("aria-label") || "").length > 2).length, hoch: toene.length ? Math.round(toene[0].getBoundingClientRect().height) : 0, }; }); ok(wahl.offen, "die Auswahl geht auf"); - ok(wahl.toene === CHAT_KACHELN.length, - `mit allen ${CHAT_KACHELN.length} Tönen (${wahl.toene})`); + /* ==== NICHT MEHR "ALLE ALS KNOEPFE" (berichtigt 23.09.2026) ====== + + Hier stand `wahl.toene === CHAT_KACHELN.length` -- dreizehn Toene, + dreizehn Knoepfe. Das stimmte, bis die Kachelfarbe ein FARBKREIS + wurde (Commit 7a674963). Seither liegen die meisten Toene auf dem + Ring und werden durch Drehen gewaehlt; nur die, die weit genug + davon entfernt sind, bleiben als Knopf daneben stehen. + + Die Pruefung meldete danach dauerhaft "mit allen 13 Toenen (2)". + Nichts war kaputt -- sie stellte eine Frage, die es nicht mehr + gibt. Und eine Warnung, die immer kommt, liest irgendwann niemand + mehr; dann faellt die echte daneben auch nicht mehr auf. + + GEFRAGT WIRD JETZT, WAS ZAEHLT: Kommt man an die Farben heran? + Ueber den Kreis (der sagt, welche Farbe gerade eingestellt ist) + oder ueber die Knoepfe daneben. Wie sie sich auf beides verteilen, + ist Gestaltung und darf sich aendern, ohne dass hier etwas rot + wird. */ + ok(wahl.ring, "der Farbkreis ist da -- auf ihm liegen die meisten Toene"); + ok(wahl.ringBedienbar, + "und er ist als Schieberegler bedienbar (role=slider), nicht nur gemalt"); + ok(wahl.ringSagtFarbe.trim().length > 3, + `er sagt auch, welche Farbe eingestellt ist ("${wahl.ringSagtFarbe}")`); + ok(wahl.toene >= 1, + `daneben stehen ${wahl.toene} Toene als Knopf -- die, die nicht auf dem Kreis liegen`); ok(wahl.mitNamen === wahl.toene, `jeder trägt seinen Namen (${wahl.mitNamen}) — wer Farben schlecht unterscheidet, wählt sonst blind`); ok(wahl.hoch >= 44, `und ist am Finger treffbar (${wahl.hoch} px)`); diff --git a/server/pruef-galerie.mjs b/server/pruef-galerie.mjs index a26c5704..a0dfff9c 100644 --- a/server/pruef-galerie.mjs +++ b/server/pruef-galerie.mjs @@ -264,9 +264,50 @@ try { const m = await seite.evaluate(() => { const bilder = [...document.querySelectorAll(".bildstreifen__bild")]; return { - raster: document.getElementById("liste")?.dataset.galerie || "", - spalten: getComputedStyle(document.getElementById("liste")) - .gridTemplateColumns.split(" ").filter(Boolean).length, + /* ==== DAS RASTER LIEGT EINE EBENE TIEFER (berichtigt 23.09.2026) + + Gemessen wurde hier "#liste". Das war richtig, bis die + Highlights am 20.09.2026 in Kanalspalten umzogen: Seither + nimmt bereich.js dem Listenkasten sein data-galerie + ausdruecklich wieder weg ("delete ziel.dataset.galerie") und + setzt es an die einzelne Spalte -- sonst wurde der + Spaltenkasten zu EINER Zelle von 376 px und die drei Accounts + standen untereinander. + + Die Pruefung ist seither dauerhaft rot gewesen ("mit mehreren + Spalten (1)"), ohne dass etwas kaputt war. Sie hat an einer + Stelle gemessen, an der absichtlich kein Raster mehr steht. + Und eine Warnung, die immer kommt, liest irgendwann niemand + mehr. + + Gesucht wird jetzt dort, wo die Bilder wirklich liegen -- + und zwar ueber das BILD, nicht ueber einen Kastennamen: Der + naechste Umbau darf die Huelle wieder umbenennen. */ + raster: (() => { + const b = document.querySelector(".bildstreifen__bild"); + const k = b ? b.closest("[data-galerie]") : null; + return k ? (k.dataset.galerie || "") : ""; + })(), + spalten: (() => { + const b = document.querySelector(".bildstreifen__bild"); + const k = b ? b.closest("[data-galerie]") : document.getElementById("liste"); + return k ? getComputedStyle(k).gridTemplateColumns.split(" ").filter(Boolean).length : 0; + })(), + /* Wie breit ist der Kasten, und wie breit eine Spalte darin? + Ohne diese zwei Zahlen ist "eine Spalte" weder gut noch + schlecht -- es kommt darauf an, wie viel Platz da war. */ + kastenBreit: (() => { + const b = document.querySelector(".bildstreifen__bild"); + const k = b ? b.closest("[data-galerie]") : document.getElementById("liste"); + return k ? Math.round(k.getBoundingClientRect().width) : 0; + })(), + spalteBreit: (() => { + const b = document.querySelector(".bildstreifen__bild"); + const k = b ? b.closest("[data-galerie]") : document.getElementById("liste"); + if (!k) return 0; + const erste = getComputedStyle(k).gridTemplateColumns.split(" ")[0] || "0"; + return Math.round(parseFloat(erste) || 0); + })(), anzahl: bilder.length, /* WIRKLICH GELADEN, nicht nur im Quelltext: Ein kaputtes Bild hat naturalWidth 0 -- und sieht im Foto aus wie ein Rahmen. */ @@ -279,7 +320,21 @@ try { }); ok(m.raster === "ja", "die Liste ist ein Raster"); - ok(m.spalten >= 2, `mit mehreren Spalten (${m.spalten})`); + /* ==== NICHT "MINDESTENS ZWEI" (berichtigt 23.09.2026) ========== + + Hier stand `m.spalten >= 2`. Das war eine Erwartung an die + Anordnung, nicht an die Sache -- und seit die Highlights in + Kanalspalten liegen, ist sie schlicht falsch: In einer schmalen + Spalte gehoert EINE Kachel je Reihe, bei viel Platz zwei. So + steht es auch im Quelltext ("gerechnet wird nichts", auto-fit). + + Gefragt wird deshalb, was wirklich zaehlt: Sind die Kacheln + breit genug, um etwas zu erkennen? Eine Galerie, die sich in + vier Spalten a 90 px quetscht, waere der Fehler -- nicht eine + Spalte in einem schmalen Kasten. */ + ok(m.spalteBreit >= 140, + `die Kacheln sind breit genug (${m.spalten} Spalte(n) à ${m.spalteBreit} px ` + + `in einem ${m.kastenBreit} px breiten Kasten)`); ok(m.anzahl >= 1, `${m.anzahl} Bilder im Raster`); ok(m.geladen === m.anzahl, `alle wirklich geladen (${m.geladen} von ${m.anzahl})`); ok(m.alt.every((t) => t && t.length > 5), diff --git a/workspace/anruf-probe.html b/workspace/anruf-probe.html index 4cdc1746..85f5a306 100644 --- a/workspace/anruf-probe.html +++ b/workspace/anruf-probe.html @@ -16,15 +16,15 @@ verdeckt. Gefunden hat es pruef-struktur. Richtig sind `gate.css` (die Farbwerte des Hauses) und `haus.css`. --> - - + + - +