Die Knoepfe stehen nicht mehr vor dem Text -- und verteilt wird bei "Eure Aufgaben"
ZWEI WUENSCHE, EINE URSACHE: beide gehen auf den Block "Noch jemanden dazunehmen" zurueck, der am 21.09. ins Aufgabenformular kam. 1. "DIE ZWEI BUTTONS SOLLEN NICHT VOR DEM TEXT STEHEN" Gemessen bei 1280 px: "Anlegen" und "Abbrechen" lagen ueber zwei Hinweisen, mit 363x27 und 363x10 Pixeln Ueberlappung. Die Ursache ist eine Regel vom 17.09., und sie ist richtig: Der Hinweis haengt ABSOLUT unter seinem Feld, damit die Eingaben auf einer Linie bleiben. Was aus dem Fluss genommen wird, belegt aber keinen Platz -- solange darunter nur der Rasterabstand kam, fiel das nicht auf. Mit dem neuen Knopf wurde die Zelle hoeher, und der Hinweis wanderte mit, direkt auf die Knoepfe. Jetzt bekommt das Raster unter sich 44 px, wenn es einen haengenden Hinweis gibt (`:has()`, nicht pauschal -- ein Formular ohne Hinweis bekaeme sonst Leere geschenkt). Die Hoehe ist gemessen: ein Hinweis ist zweizeilig 35 px hoch plus 4 px Abstand. UND EIN ZWEITER FUND AN DERSELBEN STELLE: Der Block sass IN der Zelle "Wer macht es?". Dadurch stand deren Eingabe bei 780..824, die Nachbarin "Fuer welchen Kanal?" bei 833..877 -- 53 Pixel Versatz, und genau das sieht man als "verzogen". Er steht jetzt als eigene Rasterzeile hinter beiden; danach sind sie wieder buendig. Als eigene Zeile ist er ausserdem ehrlicher: "Noch jemanden dazunehmen" ist ein zweiter Schritt, kein Teil des ersten. Gefunden hat beides pruef-formulare, die seit dem 07.09. auf buendige Unterkanten prueft und seit dem 21.09. rot war. 2. "BEI EURE AUFGABEN DIE AUFGABEN VERTEILEN" Filipe, zum wiederholten Mal -- und so stand es auch im Auftrag vom 21.09. (Abschnitt 2). Auf "Eure Aufgaben" steht jetzt ein Band "Aufgabe verteilen". Es nimmt die gerade gewaehlte Person mit: "Aufgabe fuer Kessi" fuehrt auf das Aufgabenbrett, oeffnet das Formular und traegt sie ein. EIN WEG, KEIN ZWEITES FORMULAR. Zwei Formulare fuer dieselbe Sache waeren zwei Gelegenheiten, eines zu vergessen -- und man wuesste nie, welches das richtige ist. Beim Bauen gemessen: Das Band blieb unsichtbar, bis man eine Person anklickte -- `window.__ich` kommt ueber das Netz und steht beim ersten Aufruf noch nicht. Jetzt wird darauf gewartet, laengstens drei Sekunden, statt eine Zahl aus dem Kopf zu setzen. Zwei Pruefungen waren selbst kaputt: pruef-formulare zaehlte ein Eingabefeld mit, das in einem zugeklappten Block liegt und Hoehe 0 hat -- ein Feld, das man nicht sieht, kann nicht schief stehen. pruef-entwicklung verlangte, dass ein Modi "Eure Aufgaben" NICHT bekommt; das hat Filipe heute umgedreht. Geprueft: pruef-formulare 19/0 (war 18 ok / 1 FEHL), pruef-entwicklung 48/0 (war 45/1), pruef-aufgabenbrett 49/0, pruef-css-klassen 30/0. Der ganze Weg am Bildschirm gemessen: Band sichtbar, Person mitgenommen, Formular offen, richtige Person gewaehlt, keine Skriptfehler.
This commit is contained in:
@@ -116,7 +116,18 @@ for (const [breite, wie] of [[1280, "Computer"], [390, "Handy"]]) {
|
||||
const eingaben = felder
|
||||
.map((f) => f.querySelector("input, select, textarea"))
|
||||
.filter(Boolean)
|
||||
.map((e) => e.getBoundingClientRect());
|
||||
.map((e) => e.getBoundingClientRect())
|
||||
/* NUR WAS MAN WIRKLICH SIEHT (verschaerft 22.09.2026).
|
||||
----------------------------------------------------------
|
||||
Seit dem 21.09. steht im Aufgabenformular ein zugeklappter
|
||||
Block ("Noch jemanden dazunehmen"). Sein erstes Eingabefeld
|
||||
liegt in einem `hidden` fieldset und hat Hoehe und Breite 0 --
|
||||
die Pruefung meldete es als "nicht buendig" und "zu schmal".
|
||||
|
||||
Ein Feld, das man nicht sieht, kann nicht schief stehen.
|
||||
Diese Zeile misst die Buendigkeit dessen, was ein Mensch vor
|
||||
sich hat -- und genau darum geht es. */
|
||||
.filter((r2) => r2.width > 0 && r2.height > 0);
|
||||
const schilder = felder
|
||||
.map((f) => f.querySelector(".feld-schild"))
|
||||
.filter(Boolean);
|
||||
@@ -210,7 +221,21 @@ console.log("\n=== Kein Feld ohne Gestaltung");
|
||||
const felder = [...document.querySelectorAll(
|
||||
'.inhalt input:not([type=file]):not([type=checkbox]):not([type=radio]), '
|
||||
+ '.inhalt textarea, .inhalt select')]
|
||||
.filter((e) => e.getBoundingClientRect().width > 0);
|
||||
/* NUR WAS MAN WIRKLICH SIEHT (verschaerft 22.09.2026).
|
||||
----------------------------------------------------------
|
||||
Hier stand nur `width > 0`. Seit dem 21.09. steht im
|
||||
Aufgabenformular ein zugeklappter Block ("Noch jemanden
|
||||
dazunehmen"); ein Feld darin hat Breite und Hoehe 0 und
|
||||
keinen sichtbaren Platz -- die Pruefung meldete es trotzdem
|
||||
als "nicht buendig" und "zu schmal".
|
||||
|
||||
Ein unsichtbares Feld kann nicht schief stehen. Gefragt wird
|
||||
deshalb nach BEIDEN Massen und zusaetzlich danach, ob das
|
||||
Element ueberhaupt im Bild haengt (`offsetParent`). */
|
||||
.filter((e) => {
|
||||
const r = e.getBoundingClientRect();
|
||||
return r.width > 0 && r.height > 0 && e.offsetParent !== null;
|
||||
});
|
||||
const schlecht = [];
|
||||
for (const e of felder) {
|
||||
const st = getComputedStyle(e);
|
||||
|
||||
Reference in New Issue
Block a user