Überschriftenordnung im Hauptinhalt: keine übersprungenen Ebenen mehr

Fünf Seiten hatten einen Sprung h1 -> h3 im Hauptinhalt (die Kachel-
Überschriften waren h3, ohne h2 dazwischen). Für Bildschirmleser fehlte
damit eine Ebene im "Inhaltsverzeichnis" der Seite (WCAG 1.3.1).

Pro Seite der passende, optik-erhaltende Weg -- jede Änderung mit
Screenshot bzw. gemessener Schriftgröße gegengeprüft:

- werte, kontakt, index: Kachel-h3 -> h2 (die Kacheln SIND die
  Hauptabschnitte unter der h1). Neue Regel .card > h2 hält die kompakte
  h3-Optik (1.62rem); Varianten .card-brand/.card-feature bleiben über
  ihre eigenen h3-Regeln unberührt. Gemessen: 25.92px vorher = nachher.
- bewerben: die schon sichtbaren Gruppenlabels (Community / Agentur)
  waren <span> -> jetzt <h2> mit derselben Klasse. Optik per Screenshot
  identisch (zentriert, uppercase, Zierstrich).
- links: die Kacheln nutzen Spezial-Varianten mit eigenen Größen, ein
  Tag-Wechsel wäre riskant -> stattdessen eine unsichtbare Gruppen-
  überschrift (.sr-only, neue Klasse nach WCAG-Standard). Ändert die
  Optik nicht, vervollständigt aber die Ordnung für Bildschirmleser.

Cache-Buster 20260828b (main.css geändert: .card > h2, .sr-only).

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-08-27 11:08:37 +02:00
co-authored by Claude Opus 5
parent 8a2943df35
commit 9bd9357185
36 changed files with 291 additions and 263 deletions
+23
View File
@@ -69,6 +69,22 @@ ul { list-style: none; margin: 0; padding: 0; }
}
.site-skip:focus { left: 0; }
/* Nur für Bildschirmleser: sichtbar für die Vorlesesoftware, unsichtbar
für das Auge. NICHT display:none oder visibility:hidden -- das würde
auch den Bildschirmleser aussperren. Wird verwendet, um auf Seiten mit
optisch gestalteten Kachelgruppen die Überschriftenordnung zu vervoll-
ständigen (eine Gruppenüberschrift zwischen h1 und den Kachel-h3), ohne
das Design zu verändern. */
.sr-only {
position: absolute;
width: 1px; height: 1px;
padding: 0; margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
/* Das Sprungziel bekommt tabindex="-1" (siehe main.js). Ohne diese Regel
malt der Browser dann einen Fokusrahmen um den halben Bildschirm. */
main[tabindex="-1"]:focus { outline: none; }
@@ -2005,7 +2021,14 @@ body.modal-offen { overflow: hidden; }
transition: border-color .15s ease, transform .15s ease;
}
.card:hover { border-color: var(--accent); transform: translateY(-3px); }
/* Kachel-Überschriften: gleiche Optik für h2 UND h3. Manche Kacheln
sind semantisch <h2> (eigenständige Abschnitte direkt unter der
Seiten-h1, z.B. die Werte auf werte.html), sollen aber so kompakt
aussehen wie die h3-Kacheln -- nicht in globaler h2-Größe. Diese Regel
berührt NUR das nackte .card; die Varianten .card-brand/.card-feature
behalten über ihre eigenen h3-Regeln ihre abweichenden Größen. */
.card h3 { margin-bottom: .4rem; }
.card > h2 { font-size: 1.62rem; margin-bottom: .4rem; line-height: 1.2; }
.card .tag {
display: inline-block;
font-size: .72rem;