From e57a45b431fcd1643f62b3c8c1de4feefa610965 Mon Sep 17 00:00:00 2001 From: DocFast Bot Date: Tue, 17 Feb 2026 13:11:24 +0000 Subject: [PATCH] fix: apply QA fixes to correct build source (public/src/) - BUG-055: Remove duplicate preconnect tags from homepage - BUG-058: Add twitter:image meta tag to homepage - BUG-060: Add og:title/description/url to sub-pages (impressum/privacy/terms/status) - BUG-061: Already done in sitemap.xml - BUG-067: Add skip-to-content link via nav partial + styles_base - BUG-069: Footer already added to docs.html - BUG-053: Minify app.js and status.js, update HTML refs --- public/impressum.html | 12 +-- public/index.html | 152 ++++++++++++++---------------- public/partials/_nav.html | 1 + public/partials/_styles_base.html | 2 + public/privacy.html | 12 +-- public/src/impressum.html | 5 +- public/src/index.html | 7 +- public/src/privacy.html | 5 +- public/src/status.html | 7 +- public/src/terms.html | 5 +- public/status.html | 10 +- public/status.min.js | 1 + public/terms.html | 14 +-- 13 files changed, 121 insertions(+), 112 deletions(-) create mode 100644 public/status.min.js diff --git a/public/impressum.html b/public/impressum.html index 5907197..f3855be 100644 --- a/public/impressum.html +++ b/public/impressum.html @@ -23,7 +23,7 @@ body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Robo a { color: var(--accent); text-decoration: none; transition: color 0.2s; } a:hover { color: var(--accent-hover); } .container { max-width: 800px; margin: 0 auto; padding: 0 24px; } -nav { padding: 20px 0; border-bottom: 1px solid var(--border); } +nav { padding: 20px 0; border-bottom: 1px solid var(--border); position: sticky; top: 0; background: var(--bg); z-index: 100; } nav .container { display: flex; align-items: center; justify-content: space-between; } .logo { font-size: 1.25rem; font-weight: 700; letter-spacing: -0.5px; color: var(--fg); display: flex; align-items: center; gap: 8px; text-decoration: none; } .logo span { color: var(--accent); } @@ -47,14 +47,15 @@ footer .container { display: flex; justify-content: space-between; align-items: footer .container { flex-direction: column; text-align: center; } .nav-links { gap: 16px; } } -/* Skip to content */ -.skip-link { position: absolute; top: -100%; left: 16px; background: var(--accent); color: #0b0d11; padding: 8px 16px; border-radius: 0 0 8px 8px; font-weight: 600; font-size: 0.9rem; z-index: 200; transition: top 0.2s; } + +.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; } +.skip-link { position: absolute; top: -100%; left: 16px; background: var(--accent); color: #0b0d11; padding: 8px 16px; border-radius: 0 0 8px 8px; font-weight: 600; font-size: 0.9rem; z-index: 200; transition: top 0.2s; text-decoration: none; } .skip-link:focus { top: 0; } - +