ICH HATTE ES GESTERN FALSCH BEHAUPTET UND HEUTE SELBST VERSCHLIMMERT.
Beides steht hier, weil beides zum Befund gehoert.
WAS ICH GESAGT HATTE: „Auf 390 px ist der Hinweis 0 px hoch und
deshalb nicht zu lesen -- wo er hingehoert, ist eine Gestaltungsfrage
und gehoert Filipe."
Der zweite Halbsatz war eine Ausrede. Im Quelltext stand die ganze
Zeit eine 6-Sekunden-Uhr (reaktion.js, `sagFehler`), die ihn wieder
ausblendet. Statt das nachzusehen, habe ich aus zwei Messungen zu
verschiedenen Zeitpunkten einen Widerspruch gebaut (62 px hier, 0 px
dort) und ihn fuer eine Eigenschaft der Breite gehalten.
ALSO ABGETASTET STATT HERGELEITET (390x844, nach dem Laden):
nach 500 ms Text 104 Zeichen · hidden=nein · 0 px
nach 5000 ms Text 104 Zeichen · hidden=nein · 0 px
nach 7000 ms Text 104 Zeichen · hidden=ja · 0 px
Die Uhr stimmt also -- und trotzdem ist er die ganzen sechs Sekunden
NULL PIXEL hoch. Ein `role="alert"`, den niemand sehen kann. Das war
auf 390 px schon vorher so.
UND AUF 320 PIXELN HABE ICH ES HEUTE SELBST KAPUTTGEMACHT. Vorher
bekam `#fehler` dort eine stillschweigende fuenfte Rasterzeile mit
71 Pixeln -- sichtbar, aber auf Kosten des Bildes (56 statt 127).
Seit die Regie aus dem Fluss ist, bleibt fuer diese Zeile nichts
uebrig: Der Hinweis kostete nichts mehr und war dafuer unsichtbar.
Von „sichtbar und zu teuer" auf „gratis und wirkungslos" ist keine
Verbesserung.
DIE URSACHE, und sie steht seit dem 30.09. im Haus beschrieben:
`#fehler` ist ein Kind des Saals ohne Platzangabe. Der Saal hat vier
Zeilen; das Feld landet in einer fuenften, die es nicht gibt.
ERSTER REPARATURVERSUCH, GEMESSEN UND ZURUECKGENOMMEN: `grid-row: 2`
ohne `position: absolute`. Damit belegte das Feld die Zelle, der Raum
wich in eine stillschweigende zweite SPALTE aus, und das BILD fiel auf
0 px (320) bzw. 2 px (360). Bei `.raum` steht der gleiche Satz fuer
eine zweite ZEILE -- derselbe Fehler, andere Achse. Ich habe den
Kommentar gelesen, nachdem die Messung ihn mir bestaetigt hatte, nicht
davor.
SO GEHT ES: dasselbe Muster wie beim Pult. `position: absolute` nimmt
das Feld aus dem Fluss -- es belegt keine Zelle und verdraengt nichts.
`grid-row: 2` sagt dann nur noch, WORIN es liegt, `align-self: end`
setzt es an die Unterkante. Keine gerechnete Zahl.
GEMESSEN DANACH:
320x568 Hinweis 62 px · im Fenster · obenauf · Bild 180 -> 180
390x844 Hinweis 42 px · im Fenster · obenauf · Bild 219 -> 219
430x932 · Bild 242 -> 242
Sichtbar, wenn er kommt. Nach sechs Sekunden wieder weg. Und er
kostet dem Bild kein Pixel mehr.
DIE PRUEFUNG STELLT DEN ZUSTAND SELBST HER (pruef-reaktion-schmal,
38 -> 44). Im Betrieb erscheint der Hinweis, wenn Kamera oder Mikrofon
fehlen -- auf einem Messrechner immer, auf einem Handy mit Freigabe
nie. Eine Pruefung, die darauf wartet, prueft die Messumgebung. Sie
schreibt den Text jetzt selbst hinein, macht ihn sichtbar, misst Hoehe
UND Bildhoehe, und raeumt wieder auf.
GEPRUEFT: pruef-reaktion-schmal 44 ok · pruef-reaktion 421 ok ·
pruef-css-klassen 37 ok · pruef-community-sicht 10 ok ·
pruef-breiten 23 ok.
Co-Authored-By: Claude Opus 5 <[email protected]>
99 lines
4.6 KiB
HTML
99 lines
4.6 KiB
HTML
<!doctype html>
|
||
<html lang="de">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||
<title>Dein Team · Spicy & Dogi</title>
|
||
<meta name="robots" content="noindex, nofollow" />
|
||
<link rel="manifest" href="/workspace/app.webmanifest" />
|
||
<meta name="theme-color" content="#06090f" />
|
||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610021403" />
|
||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610021403" />
|
||
<link rel="stylesheet" href="assets/css/gate.css?v=202610021403" />
|
||
<link rel="stylesheet" href="assets/css/start.css?v=202610021403" />
|
||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610021403" />
|
||
<link rel="stylesheet" href="assets/css/team.css?v=202610021403" />
|
||
<link rel="stylesheet" href="assets/css/module.css?v=202610021403" />
|
||
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
|
||
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
|
||
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
|
||
genau diesen Dateinamen auf crew-haus.css um, und die Seite
|
||
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
|
||
ohne Umfaerben im Browser, ohne Flackern. -->
|
||
<link rel="stylesheet" href="assets/css/haus.css?v=202610021403" />
|
||
</head>
|
||
|
||
<!-- `data-buehne` steht hier fest und nicht im Skript: Die Kachel zu
|
||
dieser Seite kommt vom Server, `zuSeite()` in bereiche.js findet
|
||
sie deshalb nicht -- und ohne Fund griff der Rueckfall, also die
|
||
Szene der anderen Marke. Eine Seite mit genau einer Buehne
|
||
braucht dafuer kein Skript. -->
|
||
<body class="start" data-buehne="eingang">
|
||
|
||
<div class="schleier" aria-hidden="true"></div>
|
||
|
||
<header class="kopfleiste">
|
||
<button type="button" class="zurueck-knopf" id="zurueck" hidden>
|
||
<svg class="zurueck-knopf__pfeil" viewBox="0 0 24 24" aria-hidden="true">
|
||
<path d="M14.5 5.5 8 12l6.5 6.5" />
|
||
</svg>
|
||
<span class="zurueck-knopf__text">Zurück</span>
|
||
</button>
|
||
<p class="marke"><span class="marke__text"><a class="zurueck" href="start.html">Creator Workspace</a> · Dein Team</span></p>
|
||
<div class="kopfleiste__rechts">
|
||
<span class="wer" id="wer">…</span>
|
||
<button type="button" class="abmelden" id="abmelden">Abmelden</button>
|
||
</div>
|
||
</header>
|
||
|
||
<main class="inhalt inhalt--breit">
|
||
|
||
<!-- ==== DER KOPF ================================================
|
||
Er sagt, was diese Seite ist UND was sie nicht ist. Der zweite
|
||
Teil ist der wichtigere -- dieselbe Ueberlegung steht schon
|
||
ueber team.html: Eine Seite mit Zahlen ueber Kollegen wird sonst
|
||
als Kontrolle gelesen, und dann arbeitet niemand mehr offen
|
||
damit.
|
||
|
||
"Offen" heisst hier deshalb ausdruecklich: darueber habt ihr
|
||
noch nicht geredet. Es ist eine Liste fuer euch beide, keine
|
||
Note fuer den anderen. -->
|
||
<section class="t-kachel">
|
||
<div class="t-kopf">
|
||
<div class="t-kopf__text">
|
||
<p class="feldschild">Zusammen</p>
|
||
<h1 class="t-kopf__titel">Was auf dich wartet</h1>
|
||
<p class="t-kopf__unter" id="kopf-unter">…</p>
|
||
<p class="t-kopf__grenze">
|
||
Was hier steht, ist eine Merkliste für euch beide – keine Bewertung
|
||
von Menschen. „Offen“ heißt: darüber habt ihr noch nicht gesprochen.
|
||
Eingeschätzt wird dort, wo die Punkte stehen; jede Zahl führt dorthin.
|
||
</p>
|
||
</div>
|
||
</div>
|
||
<p class="fehler" id="fehler" role="alert" aria-live="polite"></p>
|
||
</section>
|
||
|
||
<section class="t-lage" id="lage" aria-busy="true"></section>
|
||
|
||
</main>
|
||
|
||
<!-- wahl.js VOR kopf.js (nachgetragen 10.09.2026).
|
||
kopf.js baut den Sicht-Umschalter; ohne wahl.js sieht er aus wie
|
||
ein blankes Browser-Auswahlfeld statt wie der Rest des Hauses.
|
||
Kaputt ist dabei nichts -- er funktioniert. Genau deshalb faellt
|
||
es niemandem auf, und deshalb prueft pruef-css-klassen die
|
||
ABHAENGIGKEIT statt der Optik. Hier hat sie angeschlagen. -->
|
||
<script src="assets/js/meldung.js?v=202610021403" defer></script>
|
||
<script src="assets/js/nachfrage.js?v=202610021403" defer></script>
|
||
|
||
<script src="assets/js/wahl.js?v=202610021403" defer></script>
|
||
<script src="assets/js/bereiche.js?v=202610021403" defer></script>
|
||
<script src="assets/js/installieren.js?v=202610021403" defer></script>
|
||
<script src="assets/js/kopf.js?v=202610021403" defer></script>
|
||
<script src="assets/js/glocke.js?v=202610021403" defer></script>
|
||
<script src="assets/js/holen.js?v=202610021403" defer></script>
|
||
<script src="assets/js/teamlage.js?v=202610021403" defer></script>
|
||
</body>
|
||
</html>
|