health: fix broken pages, add image dimensions, a11y & SEO wins
Site-wide health pass (excludes in-progress blog work). Verified with a
local server + headless browser: Timeline, homepage and gallery pages load
with zero console errors and no layout distortion.
Render bugs
- Timeline page (en/mk/si): fix ../../../ paths that overshot the site root,
so the main stylesheet and hero image load again.
- Meet Student Slovenia 2023 (en/mk/si): remove a <figure> referencing
event3-photo-11.png, an image that was never uploaded (broken image).
Performance
- Add intrinsic width/height to 1039 raster <img> tags to prevent layout
shift (CLS); 450 SVGs correctly skipped. Add a global
`img { max-width:100%; height:auto }` safety net so aspect ratio is
preserved and images never overflow.
- Preload the homepage hero (LCP) image on en/mk/si.
- Load Font Awesome non-blocking (media=print/onload swap) with a <noscript>
fallback, on 225 pages.
Accessibility
- Add aria-label to 57 unlabeled newsletter email inputs.
- Add an sr-only <h1> to the three "My Route" pages (had no h1).
- Add an .sr-only utility class.
SEO
- Add meta descriptions to legal/msos-hub/support pages (en/mk/si).
Note: MK/SI meta descriptions are machine-drafted and should be proofread
by a native speaker before considering them final.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
168e4ce378
commit
9ce7450aa1
209 files changed
+1289
-1267
No files matched your search
@@ -56,7 +56,7 @@
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
|
||||
|
||||
<!-- Font Awesome (for icons) -->
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" crossorigin="anonymous" referrerpolicy="no-referrer" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" crossorigin="anonymous" referrerpolicy="no-referrer" media="print" onload="this.media='all'" /><noscript><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" crossorigin="anonymous" referrerpolicy="no-referrer" /></noscript>
|
||||
|
||||
<!-- Povezava na glavno CSS datoteko -->
|
||||
<link rel="stylesheet" href="../../../css/main.css">
|
||||
@@ -201,14 +201,14 @@
|
||||
</header>
|
||||
|
||||
<figure class="article-main-image">
|
||||
<img fetchpriority="high" src="../../../images/frosina-1.webp" alt="Sveče in cvetje v spomin na Frosino Kulakovo">
|
||||
<img width="720" height="480" fetchpriority="high" src="../../../images/frosina-1.webp" alt="Sveče in cvetje v spomin na Frosino Kulakovo">
|
||||
</figure>
|
||||
|
||||
<div class="article-body">
|
||||
<p>Novica o tragični smrti Frosine 29. januarja 2025 je globoko pretresla študente po vsej Sloveniji. Čeprav smo daleč od doma, je bila bolečina skupna in potreba po povezovanju jasna. Iz tega občutka je zrasla pobuda za organizacijo mirnega javnega zbora v Ljubljani, kjer bi se mladi lahko združili, prižgali sveče, položili cvetje in ji posvetili trenutek tišine v spomin.</p>
|
||||
|
||||
<figure class="article-inline-image">
|
||||
<img loading="lazy" decoding="async" src="../../../images/frosina-2.webp" alt="Študenti prižigajo sveče v spomin na Frosino">
|
||||
<img width="720" height="480" loading="lazy" decoding="async" src="../../../images/frosina-2.webp" alt="Študenti prižigajo sveče v spomin na Frosino">
|
||||
</figure>
|
||||
|
||||
<h2>Sporočilo enotnosti</h2>
|
||||
@@ -218,7 +218,7 @@
|
||||
<p>Ko stojimo drug ob drugem v takšnih trenutkih, se učimo, da naša moč ni le v študiju in ambicijah, ampak tudi v sposobnosti, da drug drugega podpremo, ko je to najpomembnejše.</p>
|
||||
|
||||
<figure class="article-inline-image">
|
||||
<img loading="lazy" decoding="async" src="../../../images/frosina-3.webp" alt="Cvetje in sveče, položene v spomin">
|
||||
<img width="720" height="480" loading="lazy" decoding="async" src="../../../images/frosina-3.webp" alt="Cvetje in sveče, položene v spomin">
|
||||
</figure>
|
||||
|
||||
<h2>Sklepne misli</h2>
|
||||
@@ -233,9 +233,9 @@
|
||||
<section class="event-gallery">
|
||||
<h2 class="event-gallery-title">Fotografije z dogodka</h2>
|
||||
<div class="event-gallery-grid js-lightbox">
|
||||
<button type="button" class="eg-thumb" data-full="../../../images/frosina-1.webp" data-caption="V spomin na Frosino Kulakovo"><img loading="lazy" decoding="async" src="../../../images/frosina-1.webp" alt="V spomin na Frosino Kulakovo, photo 1"></button>
|
||||
<button type="button" class="eg-thumb" data-full="../../../images/frosina-2.webp" data-caption="V spomin na Frosino Kulakovo"><img loading="lazy" decoding="async" src="../../../images/frosina-2.webp" alt="V spomin na Frosino Kulakovo, photo 2"></button>
|
||||
<button type="button" class="eg-thumb" data-full="../../../images/frosina-3.webp" data-caption="V spomin na Frosino Kulakovo"><img loading="lazy" decoding="async" src="../../../images/frosina-3.webp" alt="V spomin na Frosino Kulakovo, photo 3"></button>
|
||||
<button type="button" class="eg-thumb" data-full="../../../images/frosina-1.webp" data-caption="V spomin na Frosino Kulakovo"><img width="720" height="480" loading="lazy" decoding="async" src="../../../images/frosina-1.webp" alt="V spomin na Frosino Kulakovo, photo 1"></button>
|
||||
<button type="button" class="eg-thumb" data-full="../../../images/frosina-2.webp" data-caption="V spomin na Frosino Kulakovo"><img width="720" height="480" loading="lazy" decoding="async" src="../../../images/frosina-2.webp" alt="V spomin na Frosino Kulakovo, photo 2"></button>
|
||||
<button type="button" class="eg-thumb" data-full="../../../images/frosina-3.webp" data-caption="V spomin na Frosino Kulakovo"><img width="720" height="480" loading="lazy" decoding="async" src="../../../images/frosina-3.webp" alt="V spomin na Frosino Kulakovo, photo 3"></button>
|
||||
</div>
|
||||
</section>
|
||||
</article>
|
||||
@@ -246,7 +246,7 @@
|
||||
<p>Novice, obvestila in razpisi, naravnost v vaš e-poštni predal.</p>
|
||||
<form class="subscribe-form-bottom">
|
||||
<div class="input-wrapper">
|
||||
<input type="email" placeholder="Vnesite svoj e-mail">
|
||||
<input type="email" placeholder="Vnesite svoj e-mail" aria-label="E-poštni naslov">
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary-orange">Naroči se</button>
|
||||
</form>
|
||||
|
||||
Reference in new issue
Block a user