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>
|
||||
|
||||
<!-- Правилна патека до главната CSS-датотека -->
|
||||
<link rel="stylesheet" href="../../../css/main.css">
|
||||
@@ -201,7 +201,7 @@
|
||||
</header>
|
||||
|
||||
<figure class="article-main-image">
|
||||
<img fetchpriority="high" src="../../../images/event3-photo-1.webp" alt="Панел дискусија на настанот „Запознај ја студентска Словенија 2023“">
|
||||
<img width="1920" height="1280" fetchpriority="high" src="../../../images/event3-photo-1.webp" alt="Панел дискусија на настанот „Запознај ја студентска Словенија 2023“">
|
||||
</figure>
|
||||
|
||||
<div class="article-body">
|
||||
@@ -211,7 +211,7 @@
|
||||
<p>Наместо суви информации, студентите имаа можност да слушнат вистински приказни, од оние што веќе го минуваат истиот пат. Студенти од Љубљана, Марибор и Копер зборуваа за своите предизвици, првите впечатоци, смешни ситуации и моментите кога поддршката од заедницата била пресудна. А публиката? Со огромно внимание впиваше сè, бидејќи токму тие прашања што никогаш не ги пишува на брошурите, тука добија во вид на искрени одговори.</p>
|
||||
|
||||
<figure class="article-inline-image">
|
||||
<img loading="lazy" decoding="async" src="../../../images/event3-photo-2.webp" alt="Учесници на панел дискусијата">
|
||||
<img width="1920" height="1317" loading="lazy" decoding="async" src="../../../images/event3-photo-2.webp" alt="Учесници на панел дискусијата">
|
||||
<figcaption>Игор Арсов од Универзитетот во Приморска го раскажува своето студентско искуство на Факултетот за менаџмент.</figcaption>
|
||||
</figure>
|
||||
|
||||
@@ -219,12 +219,12 @@
|
||||
<p>На сцената се појавија нашите членови Киара Лазиќ, Ангел Наумов, Климентина Чаповска и Игор Арсов, секој со своја приказна, свој факултет, свој град. Заедно со модераторот Леон Шумански и водителот Васил Ханџиски, тие го претворија панелот во вистински разговор кој изгледаше повеќе како другарска дружба отколку како формална дискусија. Зборуваа за испити, за нови пријателства, за живот во студентски домови и за тоа колку е важно да не се откажуваш дури и кога ти изгледа најтешко.</p>
|
||||
|
||||
<figure class="article-inline-image">
|
||||
<img loading="lazy" decoding="async" src="../../../images/event3-photo-3.webp" alt="Васил Ханџиски на отворањето на настанот">
|
||||
<img width="1920" height="1280" loading="lazy" decoding="async" src="../../../images/event3-photo-3.webp" alt="Васил Ханџиски на отворањето на настанот">
|
||||
<figcaption>Фотографија од отварањето на настанот со водителот Васил Ханџиски.</figcaption>
|
||||
</figure>
|
||||
|
||||
<figure class="article-inline-image">
|
||||
<img loading="lazy" decoding="async" src="../../../images/event3-photo-4.webp" alt="Публиката на настанот">
|
||||
<img width="1920" height="1280" loading="lazy" decoding="async" src="../../../images/event3-photo-4.webp" alt="Публиката на настанот">
|
||||
<figcaption>Фотографија од учесниците на настанот. Малку нè изненадија со интересот, ама некако ги сместивме сите!♡</figcaption>
|
||||
</figure>
|
||||
|
||||
@@ -233,15 +233,15 @@
|
||||
<p>На настанот значајна поддршка и помош добивме и од Мелита Секуловска при организирањето на просторот и Александар Поповски при дизајнирање на веб страната на организација. Свечено им се заблагодаривме за нивната посветена работа, како и на работата на координаторката на настанот, Леа Јаначковска која го направи овој настан извонреден.</p>
|
||||
|
||||
<figure class="article-inline-image">
|
||||
<img loading="lazy" decoding="async" src="../../../images/event3-photo-5.webp" alt="Господин Бранко Грегановиќ и Н.Е. Грегор Прескер">
|
||||
<img loading="lazy" decoding="async" src="../../../images/event3-photo-6.webp" alt="Кристијан Поповски, Мелита Секуловска, Леа Јаначковска, Марија Коштревска и Александар Поповски со благодарници">
|
||||
<img width="1920" height="1337" loading="lazy" decoding="async" src="../../../images/event3-photo-5.webp" alt="Господин Бранко Грегановиќ и Н.Е. Грегор Прескер">
|
||||
<img width="1920" height="1239" loading="lazy" decoding="async" src="../../../images/event3-photo-6.webp" alt="Кристијан Поповски, Мелита Секуловска, Леа Јаначковска, Марија Коштревска и Александар Поповски со благодарници">
|
||||
<figcaption>На горните две слики се господинот Бранко Грегановиќ, претседател на Управниот одбор на НЛБ Банка Скопје, на десната страна е Н.Е. амбасадор на Република Словенија во Северна Македонија, господинот Грегор Прескер. На долните слики се претставени претседателот Кристијан Поповски, Мелита Секуловска, Леа Јаначковска, Марија Коштревска и Александар Поповски.</figcaption>
|
||||
</figure>
|
||||
|
||||
<p>На Амбасадата и на НЛБ Банка со помош на компанијата Дијаг доо им изработивме и две плаќети во знак на благодарност за сета помош и поддршка која ни ја пружија.</p>
|
||||
|
||||
<figure class="article-inline-image">
|
||||
<img loading="lazy" decoding="async" src="../../../images/event3-photo-7.webp" alt="Плакети за НЛБ Банка Скопје и Амбасадата на Република Словенија">
|
||||
<img width="1920" height="1337" loading="lazy" decoding="async" src="../../../images/event3-photo-7.webp" alt="Плакети за НЛБ Банка Скопје и Амбасадата на Република Словенија">
|
||||
<figcaption>Фотографија од плакетите кои им ги подаривме на НЛБ Банка Скопје и Амбасадата на Република Словенија во Северна Македонија.</figcaption>
|
||||
</figure>
|
||||
|
||||
@@ -249,7 +249,7 @@
|
||||
<p>Затоа што овој настан не беше само уште една презентација. Тој беше рака подадена кон идните студенти, порака дека не се сами, дека веќе постои заедница што ги чека. Некои од нив заминаа со нови пријатели, други со конкретни одговори на прашања што ги мачеле со месеци. Но сите заминаа со исто чувство: дека Словенија повеќе не е непознато место, туку нов дом во кој ќе бидат дел од нешто поголемо.</p>
|
||||
|
||||
<figure class="article-inline-image">
|
||||
<img loading="lazy" decoding="async" src="../../../images/event3-photo-8.webp" alt="Присутните на настанот">
|
||||
<img width="1920" height="1341" loading="lazy" decoding="async" src="../../../images/event3-photo-8.webp" alt="Присутните на настанот">
|
||||
<figcaption>Фотографии од присутните на настанот!</figcaption>
|
||||
</figure>
|
||||
|
||||
@@ -262,7 +262,7 @@
|
||||
<p>Посебен момент на настанот беше обраќањето на конзулот од Амбасадата на Република Словенија во Северна Македонија, господинот Мартин Глазар. Тој накратко ги претстави најважните чекори од процесот за добивање дозвола за привремен престој, една од најголемите грижи и предизвици за сите странски студенти во Словенија. На тој начин, идните студенти добија појасна слика за тоа што ги очекува и како полесно да се справат со административните процедури.</p>
|
||||
|
||||
<figure class="article-inline-image">
|
||||
<img loading="lazy" decoding="async" src="../../../images/event3-photo-9.webp" alt="Конзулот ги запознава студентите со процесот за добивање привремена дозвола за престој">
|
||||
<img width="960" height="540" loading="lazy" decoding="async" src="../../../images/event3-photo-9.webp" alt="Конзулот ги запознава студентите со процесот за добивање привремена дозвола за престој">
|
||||
<figcaption>Фотографија од конзулот кој на интересен начин ги запознава студентите со процесот за добивање на привремена дозвола за престој!</figcaption>
|
||||
</figure>
|
||||
|
||||
@@ -270,7 +270,7 @@
|
||||
<p>Не секој успеа да биде присутен во салата, но затоа се потрудивме никој да не остане без ова искуство. Настанот го пренесувавме во живо преку нашата Фејсбук страница, а снимката сè уште е достапна. Ако сакаш да ја доживееш атмосферата и да ги чуеш приказните од прва рака, можеш да го погледнеш целиот настан на овој линк тука.</p>
|
||||
|
||||
<figure class="article-inline-image">
|
||||
<img loading="lazy" decoding="async" src="../../../images/event3-photo-10.webp" alt="Постер за настанот „Запознај ја студентска Словенија“">
|
||||
<img width="1920" height="1280" loading="lazy" decoding="async" src="../../../images/event3-photo-10.webp" alt="Постер за настанот „Запознај ја студентска Словенија“">
|
||||
<figcaption>Фотографија од постерот за настанот!</figcaption>
|
||||
</figure>
|
||||
|
||||
@@ -285,34 +285,29 @@
|
||||
<li>Радио МОФ (медиа партнер)</li>
|
||||
</ol>
|
||||
<p>Благодарност до сите што беа дел од овој настан, а на идните студенти им порачуваме: вашата приказна во Словенија штотуку започнува и ние сме тука да бидеме дел од неа.</p>
|
||||
|
||||
<figure class="article-inline-image">
|
||||
<img loading="lazy" decoding="async" src="../../../images/event3-photo-11.png" alt="Мал дел од тимот на МСОС">
|
||||
<figcaption>Фотографија од мал дел од тимот затоа што заборавивме да се сликаме сите заедно!🤪</figcaption>
|
||||
</figure>
|
||||
</div>
|
||||
|
||||
|
||||
<section class="event-gallery">
|
||||
<h2 class="event-gallery-title">Фотографии од настанот</h2>
|
||||
<div class="event-gallery-grid js-lightbox">
|
||||
<button type="button" class="eg-thumb" data-full="../../../images/event3-photo-1.webp" data-caption="Запознај ја студентска Словенија 2023"><img loading="lazy" decoding="async" src="../../../images/event3-photo-1.webp" alt="Запознај ја студентска Словенија 2023, photo 1"></button>
|
||||
<button type="button" class="eg-thumb" data-full="../../../images/event3-photo-2.webp" data-caption="Запознај ја студентска Словенија 2023"><img loading="lazy" decoding="async" src="../../../images/event3-photo-2.webp" alt="Запознај ја студентска Словенија 2023, photo 2"></button>
|
||||
<button type="button" class="eg-thumb" data-full="../../../images/event3-photo-3.webp" data-caption="Запознај ја студентска Словенија 2023"><img loading="lazy" decoding="async" src="../../../images/event3-photo-3.webp" alt="Запознај ја студентска Словенија 2023, photo 3"></button>
|
||||
<button type="button" class="eg-thumb" data-full="../../../images/event3-photo-4.webp" data-caption="Запознај ја студентска Словенија 2023"><img loading="lazy" decoding="async" src="../../../images/event3-photo-4.webp" alt="Запознај ја студентска Словенија 2023, photo 4"></button>
|
||||
<button type="button" class="eg-thumb" data-full="../../../images/event3-photo-5.webp" data-caption="Запознај ја студентска Словенија 2023"><img loading="lazy" decoding="async" src="../../../images/event3-photo-5.webp" alt="Запознај ја студентска Словенија 2023, photo 5"><span class="eg-more">+5</span></button>
|
||||
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/event3-photo-6.webp" data-caption="Запознај ја студентска Словенија 2023"><img loading="lazy" decoding="async" src="../../../images/event3-photo-6.webp" alt="Запознај ја студентска Словенија 2023, photo 6"></button>
|
||||
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/event3-photo-7.webp" data-caption="Запознај ја студентска Словенија 2023"><img loading="lazy" decoding="async" src="../../../images/event3-photo-7.webp" alt="Запознај ја студентска Словенија 2023, photo 7"></button>
|
||||
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/event3-photo-8.webp" data-caption="Запознај ја студентска Словенија 2023"><img loading="lazy" decoding="async" src="../../../images/event3-photo-8.webp" alt="Запознај ја студентска Словенија 2023, photo 8"></button>
|
||||
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/event3-photo-9.webp" data-caption="Запознај ја студентска Словенија 2023"><img loading="lazy" decoding="async" src="../../../images/event3-photo-9.webp" alt="Запознај ја студентска Словенија 2023, photo 9"></button>
|
||||
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/event3-photo-10.webp" data-caption="Запознај ја студентска Словенија 2023"><img loading="lazy" decoding="async" src="../../../images/event3-photo-10.webp" alt="Запознај ја студентска Словенија 2023, photo 10"></button>
|
||||
<button type="button" class="eg-thumb" data-full="../../../images/event3-photo-1.webp" data-caption="Запознај ја студентска Словенија 2023"><img width="1920" height="1280" loading="lazy" decoding="async" src="../../../images/event3-photo-1.webp" alt="Запознај ја студентска Словенија 2023, photo 1"></button>
|
||||
<button type="button" class="eg-thumb" data-full="../../../images/event3-photo-2.webp" data-caption="Запознај ја студентска Словенија 2023"><img width="1920" height="1317" loading="lazy" decoding="async" src="../../../images/event3-photo-2.webp" alt="Запознај ја студентска Словенија 2023, photo 2"></button>
|
||||
<button type="button" class="eg-thumb" data-full="../../../images/event3-photo-3.webp" data-caption="Запознај ја студентска Словенија 2023"><img width="1920" height="1280" loading="lazy" decoding="async" src="../../../images/event3-photo-3.webp" alt="Запознај ја студентска Словенија 2023, photo 3"></button>
|
||||
<button type="button" class="eg-thumb" data-full="../../../images/event3-photo-4.webp" data-caption="Запознај ја студентска Словенија 2023"><img width="1920" height="1280" loading="lazy" decoding="async" src="../../../images/event3-photo-4.webp" alt="Запознај ја студентска Словенија 2023, photo 4"></button>
|
||||
<button type="button" class="eg-thumb" data-full="../../../images/event3-photo-5.webp" data-caption="Запознај ја студентска Словенија 2023"><img width="1920" height="1337" loading="lazy" decoding="async" src="../../../images/event3-photo-5.webp" alt="Запознај ја студентска Словенија 2023, photo 5"><span class="eg-more">+5</span></button>
|
||||
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/event3-photo-6.webp" data-caption="Запознај ја студентска Словенија 2023"><img width="1920" height="1239" loading="lazy" decoding="async" src="../../../images/event3-photo-6.webp" alt="Запознај ја студентска Словенија 2023, photo 6"></button>
|
||||
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/event3-photo-7.webp" data-caption="Запознај ја студентска Словенија 2023"><img width="1920" height="1337" loading="lazy" decoding="async" src="../../../images/event3-photo-7.webp" alt="Запознај ја студентска Словенија 2023, photo 7"></button>
|
||||
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/event3-photo-8.webp" data-caption="Запознај ја студентска Словенија 2023"><img width="1920" height="1341" loading="lazy" decoding="async" src="../../../images/event3-photo-8.webp" alt="Запознај ја студентска Словенија 2023, photo 8"></button>
|
||||
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/event3-photo-9.webp" data-caption="Запознај ја студентска Словенија 2023"><img width="960" height="540" loading="lazy" decoding="async" src="../../../images/event3-photo-9.webp" alt="Запознај ја студентска Словенија 2023, photo 9"></button>
|
||||
<button type="button" class="eg-thumb is-hidden" data-full="../../../images/event3-photo-10.webp" data-caption="Запознај ја студентска Словенија 2023"><img width="1920" height="1280" loading="lazy" decoding="async" src="../../../images/event3-photo-10.webp" alt="Запознај ја студентска Словенија 2023, photo 10"></button>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="article-footer">
|
||||
<hr>
|
||||
<div class="author-share-section">
|
||||
<div class="author-details">
|
||||
<img loading="lazy" decoding="async" src="../../../images/11-boy.webp" alt="Аватар на Кристијан Поповски">
|
||||
<img width="1280" height="1920" loading="lazy" decoding="async" src="../../../images/11-boy.webp" alt="Аватар на Кристијан Поповски">
|
||||
<div class="author-text">
|
||||
<p class="author-name">Кристијан Поповски</p>
|
||||
<p class="author-title">Претседател и основач</p>
|
||||
@@ -335,7 +330,7 @@
|
||||
<p>Вести, соопштенија и отворени повици, директно во вашето сандаче.</p>
|
||||
<form class="subscribe-form-bottom">
|
||||
<div class="input-wrapper">
|
||||
<input type="email" placeholder="Внесете ја вашата е-пошта">
|
||||
<input type="email" placeholder="Внесете ја вашата е-пошта" aria-label="Е-пошта">
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary-orange">Претплати се</button>
|
||||
</form>
|
||||
|
||||
Reference in new issue
Block a user