${esc(group.short)}
${esc(sign.title)}
${esc(sign.meaning)}
${esc(sign.tip)}
"use strict";
const main = document.querySelector('#main');
const menu = document.querySelector('#menu');
const byId = new Map(SIGNS.map(s => [s.id, s]));
const byCode = new Map(SIGNS.map(s => [s.code, s]));
const groupById = new Map(GROUPS.map(g => [g.id, g]));
const esc = text => String(text).replace(/[&<>"']/g, c => ({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c]));
const groupSigns = id => SIGNS.filter(s => s.group === id);
let currentSign = null;
let activeUtterance = null;
const synth = 'speechSynthesis' in window ? window.speechSynthesis : null;
const imageFor = (code, decorative = false) => ``;
const crumbs = (group, title) => ``;
menu.innerHTML = GROUPS.map(g => `${imageFor(g.samples[0], true)}${esc(g.short)}`).join('');
function showHome() {
document.title = 'KRESZ Táblatanoda – Jelzőtábla csoportok';
main.innerHTML = `
Fedezd fel a közlekedési táblákat!
Válassz egy csoportot, nézd meg a táblákat, és hallgasd meg a magyarázatukat!
7 csoport · ${SIGNS.length} tábla${esc(g.description)}
Tanulj hallgatva is! Nyiss meg egy táblát, majd nyomd meg a Felolvasás gombot.
${signs.length} megismerhető tábla
${esc(group.intro)}
${esc(group.short)}
${esc(sign.meaning)}
${esc(sign.tip)}
Egyszerűsített magyarázat. Jogszabályi háttér: KRESZ ${esc(group.section)}. Források · A táblakép forrása ↗
`; document.querySelector('#speak').addEventListener('click', toggleSpeech); refreshVoiceStatus(); } function showSources() { document.title = 'Források és tudnivalók – Táblatanoda'; main.innerHTML = `Háttér a tanuláshoz
A csoportosítás és a magyarázatok alapja az 1/1975. (II. 5.) KPM–BM együttes rendelet, különösen a 10–17. § és a 2. számú függelék.
A KRESZ hat alapvető jelzőtábla-csoportot nevez meg. A kiegészítő táblák külön menüpontot kaptak. A megállási és várakozási tilalmak a tilalmi és korlátozó táblák között szerepelnek.
Az oldal ${SIGNS.length} táblát és táblaváltozatot mutat be. Ez tanulást segítő válogatás, nem az összes létező felirat-, méret- és táblaváltozat teljes jegyzéke. A magyarázatok rövidítettek; a részletes szabályok és kivételek a jogszabályban olvashatók.
Ellenőrzés: 2026. szeptember 8. A forrásoldalon jelzett hatályállapot: 2026. április 11-től.
A színes magyar táblarajzok a Wikimedia Commons magyar KRESZ-tábla gyűjteményéből származnak. Az egyes képek forrásoldala minden táblánál elérhető. A hivatalos jelzések rajzai a gyűjteményben jellemzően PD-HU-exempt közkinccsé minősítéssel szerepelnek.
A képek külső hivatkozással töltődnek be, ezért a megjelenítésükhöz internetkapcsolat szükséges.
A Magyar Közút jelzéskép-gyűjteménye további hivatalos rajzi segédlet. Az ott 2026-ban közzétett új KRESZ-tervezet rajzait a forrás nem hatályosként jelöli; az oldal magyarázatai a fent hivatkozott hatályos rendeleten alapulnak.
A Felolvasás gomb a böngésző beszédfunkcióját használja. Ugyanazzal a gombbal le is állíthatod. Másik táblára vagy a főoldalra lépve a felolvasás leáll.
A magyar hang elérhetősége a böngészőtől és a készülékre telepített hangoktól függ. Ha nincs magyar hang, ezt az oldal jelzi. A készülék nyelvi vagy beszédbeállításaiban lehet magyar hangot telepíteni. Egyes hangokhoz internet szükséges.
A lap külön hivatkozott stíluslapot és szkriptfájlokat használ: styles.css, assets.js, data.js és app.js. A ZIP kicsomagolása után az index.html fájl böngészőben megnyitható.
Válassz egy táblacsoportot a menüből, vagy lépj vissza a főoldalra.
'; } document.querySelectorAll('.menu-link').forEach(link => { const active = link.dataset.group === selectedGroup; link.classList.toggle('active', active); if (active) link.setAttribute('aria-current','true'); else link.removeAttribute('aria-current'); }); const home = document.querySelector('.home-link'); home.classList.toggle('active', !page); if (!page) home.setAttribute('aria-current','page'); else home.removeAttribute('aria-current'); // Failed remote images leave the exact sign name visible and offer its source. main.querySelectorAll('img').forEach(img => img.addEventListener('error', () => { if (img.closest('.detail-art')) { const note = document.createElement('p'); note.className = 'img-error'; note.textContent = 'A táblakép nem tölthető be. Ellenőrizd az internetkapcsolatot; a kép forrása lent megnyitható.'; img.replaceWith(note); } else { img.alt = 'A kép nem tölthető be'; } }, {once:true})); if (focus) { main.focus({preventScroll:true}); window.scrollTo({top:0,behavior:'instant'}); } } window.addEventListener('hashchange', () => route()); window.addEventListener('pagehide', stopSpeech); if (synth) synth.addEventListener('voiceschanged', refreshVoiceStatus); route(false);