fix(ui): 10 regression fixes from new design pass
- Nav: always visible glass background (no more transparent-on-top) - Logo: remove text span, kill link underline completely - Masonry: fix HTML class drift (gallery-grid -> masonry-grid) - Gallery captions: rename to grid-item-label (hover-only) - Honeypot: rename to hp-field (was rendered visible!) - Hero: stronger gradient + text-shadow on h1/tag/meta - LAGE features: cards with pin icon, no more bulleted list - Map: full-viewport-width break-out from .lage-section - Contact form: border-radius, focus glow, custom select arrow, working .form-submit button style - Light text: unified --text-muted-on-dark token (replaces 4 magic white-XX% variants + --stone on .fact-label) - A11y test: update honeypot class assertion
This commit is contained in:
@@ -31,6 +31,7 @@ $gridItems = [
|
||||
?>
|
||||
<header class="hero" id="hero">
|
||||
<img src="/bilder/Außenansicht-2.webp" alt="" class="hero-bg" id="heroBg" loading="eager" decoding="async" fetchpriority="high">
|
||||
<div class="hero-overlay" aria-hidden="true"></div>
|
||||
<div class="hero-content" id="heroContent">
|
||||
<span class="hero-tag"><?= htmlspecialchars($t('hero.tag'), ENT_QUOTES) ?></span>
|
||||
<h1 class="hero-h1">
|
||||
@@ -86,13 +87,13 @@ $gridItems = [
|
||||
<span class="section-eyebrow"><?= htmlspecialchars($t('gallery.eyebrow'), ENT_QUOTES) ?></span>
|
||||
<h2><?= htmlspecialchars($t('gallery.h2'), ENT_QUOTES) ?></h2>
|
||||
</div>
|
||||
<div class="gallery-grid">
|
||||
<div class="masonry-grid">
|
||||
<?php foreach ($gridItems as $item): ?>
|
||||
<button type="button" class="grid-item <?= htmlspecialchars($item['class'], ENT_QUOTES) ?>"
|
||||
<button type="button" class="grid-item"
|
||||
data-img="<?= htmlspecialchars($item['img'], ENT_QUOTES) ?>"
|
||||
aria-label="<?= htmlspecialchars($t($item['key']) . $t('gallery.zoom'), ENT_QUOTES) ?>">
|
||||
<img src="/<?= htmlspecialchars($item['img'], ENT_QUOTES) ?>" alt="<?= htmlspecialchars($t($item['alt']), ENT_QUOTES) ?>" loading="lazy" decoding="async">
|
||||
<span class="grid-caption"><?= htmlspecialchars($t($item['key']), ENT_QUOTES) ?></span>
|
||||
<span class="grid-item-label"><?= htmlspecialchars($t($item['key']), ENT_QUOTES) ?></span>
|
||||
</button>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
@@ -232,17 +233,17 @@ $gridItems = [
|
||||
<span class="lage-feature-desc"><?= htmlspecialchars($t('loc.center_desc'), ENT_QUOTES) ?></span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="lage-map-wrapper">
|
||||
<iframe
|
||||
title="<?= htmlspecialchars($t('loc.map_title'), ENT_QUOTES) ?>"
|
||||
src="https://www.openstreetmap.org/export/embed.html?bbox=10.7535%2C50.5095%2C10.7705%2C50.5185&layer=mapnik&marker=50.5140%2C10.7620"
|
||||
loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>
|
||||
<p class="lage-address">
|
||||
<strong><?= htmlspecialchars($t('loc.address'), ENT_QUOTES) ?>:</strong><br>
|
||||
<?= /* address HTML is XSS-safe — composed of trusted translations */ $t('loc.address_val') ?>
|
||||
</p>
|
||||
</div>
|
||||
<div class="lage-map-wrapper">
|
||||
<iframe
|
||||
title="<?= htmlspecialchars($t('loc.map_title'), ENT_QUOTES) ?>"
|
||||
src="https://www.openstreetmap.org/export/embed.html?bbox=10.7535%2C50.5095%2C10.7705%2C50.5185&layer=mapnik&marker=50.5140%2C10.7620"
|
||||
loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>
|
||||
<p class="lage-address">
|
||||
<strong><?= htmlspecialchars($t('loc.address'), ENT_QUOTES) ?>:</strong><br>
|
||||
<?= /* address HTML is XSS-safe — composed of trusted translations */ $t('loc.address_val') ?>
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -273,7 +274,7 @@ $gridItems = [
|
||||
<form class="contact-form" method="post" action="/#kontakt" novalidate>
|
||||
<input type="hidden" name="csrf_token" value="<?= htmlspecialchars($_SESSION['csrf_token'] ?? '', ENT_QUOTES) ?>">
|
||||
<input type="hidden" name="form_time" value="<?= htmlspecialchars((string) time(), ENT_QUOTES) ?>">
|
||||
<div class="form-hp" aria-hidden="true">
|
||||
<div class="hp-field" aria-hidden="true">
|
||||
<label for="website-hp"><?= htmlspecialchars($t('contact.hp_label'), ENT_QUOTES) ?></label>
|
||||
<input type="text" id="website-hp" name="website" tabindex="-1" autocomplete="off">
|
||||
</div>
|
||||
|
||||
@@ -87,11 +87,10 @@ $navItems = [
|
||||
<body>
|
||||
<a class="skip-link" href="#main"><?= htmlspecialchars($t('nav.skip'), ENT_QUOTES) ?></a>
|
||||
|
||||
<nav id="navbar" class="scrolled" aria-label="<?= htmlspecialchars($t('nav.main'), ENT_QUOTES) ?>">
|
||||
<nav id="navbar" aria-label="<?= htmlspecialchars($t('nav.main'), ENT_QUOTES) ?>">
|
||||
<div class="nav-logo">
|
||||
<a href="<?= htmlspecialchars($homeUrl) ?>">
|
||||
<a href="<?= htmlspecialchars($homeUrl) ?>" aria-label="<?= htmlspecialchars($siteName, ENT_QUOTES) ?>">
|
||||
<span class="logo-icon" aria-hidden="true">🏠</span>
|
||||
<span class="logo-text"><?= htmlspecialchars($siteName) ?></span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user