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,7 +201,7 @@
|
||||
</header>
|
||||
|
||||
<figure class="article-main-image">
|
||||
<img fetchpriority="high" src="../../../images/msnl-1.webp" alt="Vzdušje z Makedonske študentske noči v Ljubljani">
|
||||
<img width="1430" height="757" fetchpriority="high" src="../../../images/msnl-1.webp" alt="Vzdušje z Makedonske študentske noči v Ljubljani">
|
||||
</figure>
|
||||
|
||||
<div class="article-body">
|
||||
@@ -211,7 +211,7 @@
|
||||
<p>Vse se je začelo s preprosto željo, da se zberemo, spoznamo in začutimo Makedonijo, čeprav smo daleč od nje. Kristijan Popovski, takrat študent Ekonomske fakultete v Ljubljani, je svojo idejo delil z nekaj kolegi, odziv pa je bil neverjeten. V manj kot dveh tednih se je v organizacijsko ekipo vključilo več kot 40 študentov. Vsak je prispeval svoj entuziazem in čas, skupni duh in želja po povezovanju pa sta to spontano pobudo spremenila v dogodek, ki si ga bomo dolgo zapomnili.</p>
|
||||
|
||||
<figure class="article-inline-image">
|
||||
<img loading="lazy" decoding="async" src="../../../images/msnl-2.webp" alt="Priprave in sestanki za Makedonsko študentsko noč">
|
||||
<img width="936" height="422" loading="lazy" decoding="async" src="../../../images/msnl-2.webp" alt="Priprave in sestanki za Makedonsko študentsko noč">
|
||||
<figcaption>Fotografije s priprav in sestankov za organizacijo Makedonske študentske noči.</figcaption>
|
||||
</figure>
|
||||
|
||||
@@ -219,7 +219,7 @@
|
||||
<p>Teden dni pred dogodkom smo vsak dan objavljali zanimivosti o Makedoniji, njenih nacionalnih zakladih, glasbi in kulturi. Počasi, a vztrajno, smo gradili vzdušje in navdušenje, ne le med makedonskimi študenti, temveč tudi med mnogimi drugimi, ki so želeli občutiti našo energijo.</p>
|
||||
|
||||
<figure class="article-inline-image">
|
||||
<img loading="lazy" decoding="async" src="../../../images/msnl-3.webp" alt="Plakat, kjer se Slovenci učijo makedonsko abecedo">
|
||||
<img width="1087" height="586" loading="lazy" decoding="async" src="../../../images/msnl-3.webp" alt="Plakat, kjer se Slovenci učijo makedonsko abecedo">
|
||||
<figcaption>Plakat s cirilico in latinico. Slovenci se učijo makedonsko abecedo, medtem ko jih Makedonci poučujejo.</figcaption>
|
||||
</figure>
|
||||
|
||||
@@ -232,14 +232,14 @@
|
||||
<p>Zabava se je začela ob 20. uri in je bila zasnovana v dveh delih. Prvi del je bil pravo gastronomsko in kulturno popotovanje po Makedoniji. Študentje so lahko poskusili kruhke z ajvarjem in sirom, makedonsko vino, okusne prigrizke in tradicionalne pijače. Mize so bile obložene tudi z drugimi avtentičnimi izdelki, ki so vse spominjali na dom. Vse te okuse in vonjave je omogočila podpora trgovine z makedonskimi izdelki <strong>"Makedonija Trade"</strong>, ki je nesebično prispevala k temu, da je bil ta del večera resnično doživetje.</p>
|
||||
|
||||
<figure class="article-inline-image">
|
||||
<img loading="lazy" decoding="async" src="../../../images/msnl-4.webp" alt="Stojnice z makedonskimi simboli, hrano in pijačo">
|
||||
<img width="1430" height="641" loading="lazy" decoding="async" src="../../../images/msnl-4.webp" alt="Stojnice z makedonskimi simboli, hrano in pijačo">
|
||||
<figcaption>Fotografije stojnic z makedonskimi simboli, tradicionalno hrano in pijačo.</figcaption>
|
||||
</figure>
|
||||
|
||||
<p>Poleg hrane so si obiskovalci lahko ogledali zanimivosti o državi, fotografije znanih makedonskih osebnosti in kulturnih znamenitosti ter si od blizu ogledali tradicionalne noše in <strong>gajdo</strong>. Vzdušje je bilo toplo in polno radovednosti, kot majhna razstava v sklopu velike študentske zabave.</p>
|
||||
|
||||
<figure class="article-inline-image">
|
||||
<img loading="lazy" decoding="async" src="../../../images/msnl-5.webp" alt="Mini kviz o Makedoniji">
|
||||
<img width="1194" height="565" loading="lazy" decoding="async" src="../../../images/msnl-5.webp" alt="Mini kviz o Makedoniji">
|
||||
<figcaption>Mini kviz z vprašanji o Makedoniji, kjer študenti v enem delu kluba tekmujejo.</figcaption>
|
||||
</figure>
|
||||
|
||||
@@ -247,7 +247,7 @@
|
||||
<p>Večer je obogatila tudi prisotnost pomembnih gostov iz makedonske skupnosti v Sloveniji. Dogodku se nam je pridružil <strong>predsednik Zveze makedonskih kulturnih društev v Sloveniji, g. Blagoja Nasteski</strong>, ki je s svojo prisotnostjo potrdil pomen takšnih pobud za ohranjanje makedonskega duha in tradicije v diaspori.</p>
|
||||
|
||||
<figure class="article-inline-image">
|
||||
<img loading="lazy" decoding="async" src="../../../images/msnl-6.webp" alt="Kristijan in Bisera z veleposlanico Zelenkovsko in g. Nasteskim">
|
||||
<img width="856" height="452" loading="lazy" decoding="async" src="../../../images/msnl-6.webp" alt="Kristijan in Bisera z veleposlanico Zelenkovsko in g. Nasteskim">
|
||||
<figcaption>Kristijan in Bisera skupaj z veleposlanico Zelenkovsko in predsednikom Zveze makedonskih društev, g. Nasteskim.</figcaption>
|
||||
</figure>
|
||||
|
||||
@@ -264,7 +264,7 @@
|
||||
<p>Ta noč je postavila temelje za Makedonsko študentsko organizacijo v Sloveniji in nam pokazala, da je z navdušenjem, enotnostjo in malo poguma mogoče ustvariti nekaj, kar združuje ljudi in jim daje občutek doma, tudi ko so daleč od njega.</p>
|
||||
|
||||
<figure class="article-inline-image">
|
||||
<img loading="lazy" decoding="async" src="../../../images/msnl-7.webp" alt="Predana ekipa prostovoljcev po končanem pospravljanju prizorišča.">
|
||||
<img width="1430" height="592" loading="lazy" decoding="async" src="../../../images/msnl-7.webp" alt="Predana ekipa prostovoljcev po končanem pospravljanju prizorišča.">
|
||||
<figcaption>Fotografija, posneta ob 4. uri zjutraj, po končanem pospravljanju prostora skupaj s predano ekipo prostovoljcev.</figcaption>
|
||||
</figure>
|
||||
</div>
|
||||
@@ -273,13 +273,13 @@
|
||||
<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/msnl-1.webp" data-caption="Makedonski študentski večer v Ljubljani"><img loading="lazy" decoding="async" src="../../../images/msnl-1.webp" alt="Makedonski študentski večer v Ljubljani, photo 1"></button>
|
||||
<button type="button" class="eg-thumb" data-full="../../../images/msnl-2.webp" data-caption="Makedonski študentski večer v Ljubljani"><img loading="lazy" decoding="async" src="../../../images/msnl-2.webp" alt="Makedonski študentski večer v Ljubljani, photo 2"></button>
|
||||
<button type="button" class="eg-thumb" data-full="../../../images/msnl-3.webp" data-caption="Makedonski študentski večer v Ljubljani"><img loading="lazy" decoding="async" src="../../../images/msnl-3.webp" alt="Makedonski študentski večer v Ljubljani, photo 3"></button>
|
||||
<button type="button" class="eg-thumb" data-full="../../../images/msnl-4.webp" data-caption="Makedonski študentski večer v Ljubljani"><img loading="lazy" decoding="async" src="../../../images/msnl-4.webp" alt="Makedonski študentski večer v Ljubljani, photo 4"></button>
|
||||
<button type="button" class="eg-thumb" data-full="../../../images/msnl-5.webp" data-caption="Makedonski študentski večer v Ljubljani"><img loading="lazy" decoding="async" src="../../../images/msnl-5.webp" alt="Makedonski študentski večer v Ljubljani, photo 5"><span class="eg-more">+2</span></button>
|
||||
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/msnl-6.webp" data-caption="Makedonski študentski večer v Ljubljani"><img loading="lazy" decoding="async" src="../../../images/msnl-6.webp" alt="Makedonski študentski večer v Ljubljani, photo 6"></button>
|
||||
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/msnl-7.webp" data-caption="Makedonski študentski večer v Ljubljani"><img loading="lazy" decoding="async" src="../../../images/msnl-7.webp" alt="Makedonski študentski večer v Ljubljani, photo 7"></button>
|
||||
<button type="button" class="eg-thumb" data-full="../../../images/msnl-1.webp" data-caption="Makedonski študentski večer v Ljubljani"><img width="1430" height="757" loading="lazy" decoding="async" src="../../../images/msnl-1.webp" alt="Makedonski študentski večer v Ljubljani, photo 1"></button>
|
||||
<button type="button" class="eg-thumb" data-full="../../../images/msnl-2.webp" data-caption="Makedonski študentski večer v Ljubljani"><img width="936" height="422" loading="lazy" decoding="async" src="../../../images/msnl-2.webp" alt="Makedonski študentski večer v Ljubljani, photo 2"></button>
|
||||
<button type="button" class="eg-thumb" data-full="../../../images/msnl-3.webp" data-caption="Makedonski študentski večer v Ljubljani"><img width="1087" height="586" loading="lazy" decoding="async" src="../../../images/msnl-3.webp" alt="Makedonski študentski večer v Ljubljani, photo 3"></button>
|
||||
<button type="button" class="eg-thumb" data-full="../../../images/msnl-4.webp" data-caption="Makedonski študentski večer v Ljubljani"><img width="1430" height="641" loading="lazy" decoding="async" src="../../../images/msnl-4.webp" alt="Makedonski študentski večer v Ljubljani, photo 4"></button>
|
||||
<button type="button" class="eg-thumb" data-full="../../../images/msnl-5.webp" data-caption="Makedonski študentski večer v Ljubljani"><img width="1194" height="565" loading="lazy" decoding="async" src="../../../images/msnl-5.webp" alt="Makedonski študentski večer v Ljubljani, photo 5"><span class="eg-more">+2</span></button>
|
||||
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/msnl-6.webp" data-caption="Makedonski študentski večer v Ljubljani"><img width="856" height="452" loading="lazy" decoding="async" src="../../../images/msnl-6.webp" alt="Makedonski študentski večer v Ljubljani, photo 6"></button>
|
||||
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/msnl-7.webp" data-caption="Makedonski študentski večer v Ljubljani"><img width="1430" height="592" loading="lazy" decoding="async" src="../../../images/msnl-7.webp" alt="Makedonski študentski večer v Ljubljani, photo 7"></button>
|
||||
</div>
|
||||
</section>
|
||||
</article>
|
||||
@@ -290,7 +290,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