Novi zakon o pristupačnosti i web prodavnice koje prodaju u EU
Koga evropski zakon o pristupačnosti zaista obavezuje, šta EN 301 549 traži u praksi i kako da svoju prodavnicu proverite pre nego što to uradi neko drugi.
Marko Stančić8 minuta
Direktiva (EU) 2019/882 · od 28. 6. 2025.Da li ste u obuhvatu
Prodajete li potrošačima u Evropskoj uniji?NeSamo B2B ili samo van Unije: niste u obuhvatu.
Imate li deset ili više zaposlenih, ili promet preko dva miliona evra?NeMikropreduzeće koje pruža uslugu izuzeto je od zahteva.
U obuhvatu ste: WCAG 2.1, nivo AAUz toJavna izjava o pristupačnosti u opštim uslovima poslovanja.
Gde je firma registrovana ne menja ništa. Obaveza prati tržište na kome prodajete.
Beleška s terena / Pristupačnost i propisi
Evropski zakon o pristupačnosti, European Accessibility Act, primenjuje se od 28. juna 2025. i obavezuje svakoga ko prodaje potrošačima u Evropskoj uniji, bez obzira na to gde je firma registrovana. Ako vaša prodavnica prima porudžbine iz EU, obaveza važi i za vas, a to što je firma registrovana u Srbiji tu ništa ne menja.
Ovo je tekst koji sam želeo da pročitam kada me je klijent prvi put pitao da li se to njega tiče. Domaćih izvora o ovoj temi gotovo da nema, a ono malo što postoji prepričava naslov direktive bez ijednog konkretnog kriterijuma. Zato je ovde poređano redom koji je koristan u praksi: ko je u obuhvatu, šta standard zaista traži, šta ne valja na skoro svakoj domaćoj prodavnici, kako sve to da proverite sami i kada je vreme da pozovete nekoga.
Jedna ograda pre svega ostalog. Ovo je inženjerski tekst, ne pravni savet. Direktiva se u nacionalno zakonodavstvo prenosi zasebno u svakoj članici, pa se nadzor, prijave i sankcije razlikuju od države do države. Za pravni status svoje firme pitajte advokata. Ovde govorim o tome šta na sajtu mora da radi drugačije.
Koga se zapravo tiče
Direktiva (EU) 2019/882 pokriva tačno određen skup proizvoda i usluga, a među uslugama izričito navodi i elektronsku trgovinu: uslugu koja se pruža na daljinu, preko sajta ili mobilne aplikacije, na pojedinačni zahtev potrošača i radi zaključenja potrošačkog ugovora. Prevedeno na jezik posla, to je obična prodavnica sa korpom i naplatom.
Ključna reč je potrošač, a obaveza prati tržište, ne sedište firme. Ako prodajete fizičkim licima u Uniji i isporučujete im, uslugu pružate na tržištu Unije i u obuhvatu ste isto kao trgovac iz Beča. Ako radite isključivo B2B, ako prodajete samo u Srbiji i zemljama van Unije, ili ako je sajt samo katalog bez korpe i plaćanja, slika je drugačija i vredi je razjasniti pre nego što krenete bilo šta da menjate.
Postoji i izuzeće za mikropreduzeća, i baš se o njemu najviše pogrešno priča. Direktiva mikropreduzećem smatra firmu koja zapošljava manje od deset ljudi i ima godišnji promet ili godišnji bilans stanja koji ne prelazi dva miliona evra. Mikropreduzeća koja pružaju usluge izuzeta su od zahteva pristupačnosti. Tri stvari se tu po pravilu previđaju. Uslov o broju zaposlenih i finansijski uslov idu zajedno, ne bira se jedan od dva. Izuzeće se odnosi na usluge, dok su kod proizvoda pravila drugačija. I izuzeće prestaje kada firma preraste prag, a to se obično desi mnogo pre nego što se iko seti sajta.
Direktiva poznaje i izuzeće zbog nesrazmernog opterećenja, ali to nije rečenica u mejlu. Ono traži dokumentovanu procenu koja se čuva i periodično obnavlja. Ako je nemate napismeno, praktično je nemate.
Radni princip
Obaveza prati tržište na kome prodajete, a ne državu u kojoj je firma registrovana.
Šta standard traži u praksi
Zakon govori načelno. Konkretne kriterijume daje evropski standard EN 301 549, koji za web sadržaj upućuje na WCAG 2.1, nivo AA. To je zapravo dobra vest: WCAG sajt ne posmatra kroz filozofiju nego kroz listu proverivih uslova, a najveći deo njih se ispunjava bez redizajna.
Nivo AA, sveden na ono što se vidi na prodavnici, znači sledeće. Sve što može mišem mora da može i tastaturom. Fokus mora da bude vidljiv i da se kreće redosledom koji ima smisla. Tekst mora da ima dovoljan kontrast prema podlozi. Sadržaj mora da preživi uvećanje od 200 posto i širinu od 320 piksela, bez horizontalnog skrolovanja i bez gubitka funkcija. Svaka slika koja nosi informaciju mora da ima tekstualnu alternativu. Svako polje u formi mora da ima oznaku koja je programski povezana sa poljem, a ne samo vizuelno postavljena pored njega.
WCAG 2.1 AA / minimalni kontrastPragovi iz standarda, ne merenje
Osnovni tekst4,5:1
Krupan tekst od 24px3:1
Dugmad i polja3:1
1:13:14,5:1
Uz tehnički deo ide i administrativna obaveza koju gotovo svi preskaču. Pružalac usluge mora javno, u opštim uslovima poslovanja, da objasni kako usluga ispunjava zahteve pristupačnosti. Ta stranica se piše tačno, a ne marketinški: datum poslednje provere i spisak odstupanja koja već znate.
Pet stvari koje ne valjaju na skoro svakoj prodavnici
Redosled nije slučajan. Ovako ih po pravilu nalazim kada otvorim domaću prodavnicu i prvo je prođem tastaturom.
Zamka za tastaturu u korpi i filterima. Tabom uđete u modal za kupon, u panel filtera ili u galeriju proizvoda i više ne možete da izađete. To je kriterijum nivoa A, najosnovnijeg u WCAG-u, a sam po sebi ume da učini kupovinu neizvodljivom. Najčešće ga napravi plugin koji panel drži otvorenim dok se ne klikne mišem.
Kontrast na cenama i oznakama sniženja. Svetlozelena ili mint na beloj podlozi izgleda skupo dok se dizajn predstavlja, a pada na proveri. Isto važi za sivi tekst uslova isporuke i za bele brojeve u tankom fontu na pastelnom bedžu. Cena i procenat popusta su informacije, ne dekoracija.
Slika proizvoda kao jedini opis. Sastav buketa, dimenzije, materijal i rok isporuke upisani su u sliku, a alt atribut je prazan ili sadrži IMG_2043. Ko ne vidi sliku, ne vidi ni ponudu. Isti tekst napisan u HTML-u rešava istovremeno i pristupačnost i pretragu.
Polja označena samo placeholderom. Tekst iz placeholdera nestaje čim kupac počne da kuca, ne postaje pouzdano ime polja za čitač ekrana i skoro uvek ima preslab kontrast. Na naplati, gde svako polje nosi trošak, to je najskuplja greška sa ove liste.
Sopstveni dropdown meniji i modali bez uloga i bez upravljanja fokusom. Div sa onclick izgleda kao dugme, ali za pomoćnu tehnologiju nije ništa. Kada se modal otvori, fokus mora da uđe u njega, da ostane unutar njega dok je otvoren i da se vrati na element koji ga je otvorio.
Peta stavka je razlog zbog kog filtriranje kataloga zaslužuje posebnu pažnju. Kada smo radili katalog za Cvetam u koji se ulazi po prilici i cenovnom rangu, ulaz nije bio standardna WooCommerce lista nego sopstvena kontrola. Svaka takva kontrola mora da bude pravo dugme, sa imenom, stanjem i mestom u redosledu fokusa, a ne obojeni pravougaonik koji reaguje na klik.
Četvrta stavka se popravlja najbrže, a razlika u kodu je mala:
HTML
<!-- Loše: oznaka postoji samo kao placeholder -->
<input type="email" name="billing_email" placeholder="Vaš imejl">
<!-- Dobro: oznaka je programski povezana sa poljem -->
<label for="billing_email">Imejl adresa</label>
<input id="billing_email" type="email" name="billing_email"
autocomplete="email" placeholder="ime@primer.rs">
Provera za petnaest minuta
Ne treba vam ni revizija ni budžet da biste saznali kako stojite. Treba vam petnaest minuta i tri prolaza kroz isti put: početna, kategorija, strana proizvoda, korpa, naplata.
Prvi prolaz radite samo tastaturom. Sklonite ruku sa miša i idite Tabom kroz ceo tok kupovine. Gledate tri stvari: da li u svakom trenutku vidite gde je fokus, da li se fokus kreće redosledom koji prati ono što je na ekranu i da li negde upadnete u element iz kog ne možete da izađete. Ako ne možete da dodate proizvod u korpu i završite porudžbinu bez miša, problem nije u detalju nego u celom toku.
Drugi prolaz je uvećanje. Postavite zum browsera na 200 posto, pa zatim suzite prozor na širinu telefona. Treba da tekst ne bude odsečen, da se sadržaj ne preklapa, da se ne pojavi horizontalno skrolovanje i da zaglavlje koje prati skrol ne pojede pola ekrana. Dugme za završetak porudžbine mora i dalje da bude dostupno i upotrebljivo.
Treći prolaz je automatski alat: bilo koji besplatan alat za proveru u browseru, pušten na tri ili četiri različite vrste stranica, ne samo na početnoj. Tu treba biti pošten. Automatski alati pouzdano hvataju samo deo kriterijuma, uglavnom one merljive, kao što su kontrast, nedostajući alt tekst i polja bez oznake. Nijedan alat ne može da oceni da li je alt tekst tačan, da li redosled fokusa ima smisla ni da li je poruka o grešci razumljiva. Prazan izveštaj ne znači da je sajt usklađen; znači da su sklonjene greške koje mašina ume da vidi.
Alat ne meri pristupačnost. On samo pokazuje odakle da počnete da gledate.
Kada to više nije posao koji možete sami
Prve tri stavke sa liste obično su posao za temu i CSS: kontrast, alt tekstovi, oznake polja. To može da se odradi interno i vredi uraditi odmah, jer isti posao popravlja i pretragu i broj završenih porudžbina.
Granica se prelazi na četvrtom i petom problemu. Kada je zamka za tastaturu u pluginu koji ne održavate, kada je naplatu proširio neko drugi, kada tema koristi sopstvene kontrole umesto standardnih elemenata ili kada vam treba izjava o usklađenosti koju možete da branite, popravka prestaje da bude podešavanje i postaje razvoj. U tom trenutku se isplati da razvoj WooCommerce prodavnice na nivou koda uzmete kao posao sa planom i redosledom, umesto kao niz zakrpa koje jedna drugu poništavaju.
Redosled koji predlažem je nezanimljiv i baš zato radi. Prvo prođite kupovni tok tastaturom i uklonite sve što blokira porudžbinu. Zatim rešite kontrast i oznake polja, jer su jeftine intervencije koje se vide na celom sajtu. Onda uzmite sopstvene kontrole jednu po jednu i dajte im ulogu, ime i upravljanje fokusom. Na kraju napišite izjavu o pristupačnosti sa datumom i poznatim odstupanjima i zabeležite da je proverite kada sledeći put budete dirali naplatu.
Nijedan od ovih koraka ne traži redizajn. Traži se samo da neko jednom prođe sajt bez miša i zapiše šta ne radi.
Papiri, obavezne stranice prodavnice i detalji naplate koje domaća WooCommerce prodavnica mora da ima pre nego što kartično plaćanje bude odobreno i pušteno u rad.
8 min čitanja
Primena u praksi
Učinimo sajt upotrebljivim za sve
Ako vam obaveze oko pristupačnosti nisu jasne, pokažite sajt u zatečenom stanju. Možemo mapirati šta mora da se promeni i kojim redom.
Gde je firma registrovana ne menja ništa. Obaveza prati tržište na kome prodajete.
Beleška s terena / Pristupačnost i propisi
Evropski zakon o pristupačnosti, European Accessibility Act, primenjuje se od 28. juna 2025. i obavezuje svakoga ko prodaje potrošačima u Evropskoj uniji, bez obzira na to gde je firma registrovana. Ako vaša prodavnica prima porudžbine iz EU, obaveza važi i za vas, a to što je firma registrovana u Srbiji tu ništa ne menja.
Ovo je tekst koji sam želeo da pročitam kada me je klijent prvi put pitao da li se to njega tiče. Domaćih izvora o ovoj temi gotovo da nema, a ono malo što postoji prepričava naslov direktive bez ijednog konkretnog kriterijuma. Zato je ovde poređano redom koji je koristan u praksi: ko je u obuhvatu, šta standard zaista traži, šta ne valja na skoro svakoj domaćoj prodavnici, kako sve to da proverite sami i kada je vreme da pozovete nekoga.
Jedna ograda pre svega ostalog. Ovo je inženjerski tekst, ne pravni savet. Direktiva se u nacionalno zakonodavstvo prenosi zasebno u svakoj članici, pa se nadzor, prijave i sankcije razlikuju od države do države. Za pravni status svoje firme pitajte advokata. Ovde govorim o tome šta na sajtu mora da radi drugačije.
Koga se zapravo tiče
Direktiva (EU) 2019/882 pokriva tačno određen skup proizvoda i usluga, a među uslugama izričito navodi i elektronsku trgovinu: uslugu koja se pruža na daljinu, preko sajta ili mobilne aplikacije, na pojedinačni zahtev potrošača i radi zaključenja potrošačkog ugovora. Prevedeno na jezik posla, to je obična prodavnica sa korpom i naplatom.
Ključna reč je potrošač, a obaveza prati tržište, ne sedište firme. Ako prodajete fizičkim licima u Uniji i isporučujete im, uslugu pružate na tržištu Unije i u obuhvatu ste isto kao trgovac iz Beča. Ako radite isključivo B2B, ako prodajete samo u Srbiji i zemljama van Unije, ili ako je sajt samo katalog bez korpe i plaćanja, slika je drugačija i vredi je razjasniti pre nego što krenete bilo šta da menjate.
Postoji i izuzeće za mikropreduzeća, i baš se o njemu najviše pogrešno priča. Direktiva mikropreduzećem smatra firmu koja zapošljava manje od deset ljudi i ima godišnji promet ili godišnji bilans stanja koji ne prelazi dva miliona evra. Mikropreduzeća koja pružaju usluge izuzeta su od zahteva pristupačnosti. Tri stvari se tu po pravilu previđaju. Uslov o broju zaposlenih i finansijski uslov idu zajedno, ne bira se jedan od dva. Izuzeće se odnosi na usluge, dok su kod proizvoda pravila drugačija. I izuzeće prestaje kada firma preraste prag, a to se obično desi mnogo pre nego što se iko seti sajta.
Direktiva poznaje i izuzeće zbog nesrazmernog opterećenja, ali to nije rečenica u mejlu. Ono traži dokumentovanu procenu koja se čuva i periodično obnavlja. Ako je nemate napismeno, praktično je nemate.
Obaveza prati tržište na kome prodajete, a ne državu u kojoj je firma registrovana.
Šta standard traži u praksi
Zakon govori načelno. Konkretne kriterijume daje evropski standard EN 301 549, koji za web sadržaj upućuje na WCAG 2.1, nivo AA. To je zapravo dobra vest: WCAG sajt ne posmatra kroz filozofiju nego kroz listu proverivih uslova, a najveći deo njih se ispunjava bez redizajna.
Nivo AA, sveden na ono što se vidi na prodavnici, znači sledeće. Sve što može mišem mora da može i tastaturom. Fokus mora da bude vidljiv i da se kreće redosledom koji ima smisla. Tekst mora da ima dovoljan kontrast prema podlozi. Sadržaj mora da preživi uvećanje od 200 posto i širinu od 320 piksela, bez horizontalnog skrolovanja i bez gubitka funkcija. Svaka slika koja nosi informaciju mora da ima tekstualnu alternativu. Svako polje u formi mora da ima oznaku koja je programski povezana sa poljem, a ne samo vizuelno postavljena pored njega.
Uz tehnički deo ide i administrativna obaveza koju gotovo svi preskaču. Pružalac usluge mora javno, u opštim uslovima poslovanja, da objasni kako usluga ispunjava zahteve pristupačnosti. Ta stranica se piše tačno, a ne marketinški: datum poslednje provere i spisak odstupanja koja već znate.
Pet stvari koje ne valjaju na skoro svakoj prodavnici
Redosled nije slučajan. Ovako ih po pravilu nalazim kada otvorim domaću prodavnicu i prvo je prođem tastaturom.
Zamka za tastaturu u korpi i filterima. Tabom uđete u modal za kupon, u panel filtera ili u galeriju proizvoda i više ne možete da izađete. To je kriterijum nivoa A, najosnovnijeg u WCAG-u, a sam po sebi ume da učini kupovinu neizvodljivom. Najčešće ga napravi plugin koji panel drži otvorenim dok se ne klikne mišem.
Kontrast na cenama i oznakama sniženja. Svetlozelena ili mint na beloj podlozi izgleda skupo dok se dizajn predstavlja, a pada na proveri. Isto važi za sivi tekst uslova isporuke i za bele brojeve u tankom fontu na pastelnom bedžu. Cena i procenat popusta su informacije, ne dekoracija.
Slika proizvoda kao jedini opis. Sastav buketa, dimenzije, materijal i rok isporuke upisani su u sliku, a alt atribut je prazan ili sadrži IMG_2043. Ko ne vidi sliku, ne vidi ni ponudu. Isti tekst napisan u HTML-u rešava istovremeno i pristupačnost i pretragu.
Polja označena samo placeholderom. Tekst iz placeholdera nestaje čim kupac počne da kuca, ne postaje pouzdano ime polja za čitač ekrana i skoro uvek ima preslab kontrast. Na naplati, gde svako polje nosi trošak, to je najskuplja greška sa ove liste.
Sopstveni dropdown meniji i modali bez uloga i bez upravljanja fokusom. Div sa onclick izgleda kao dugme, ali za pomoćnu tehnologiju nije ništa. Kada se modal otvori, fokus mora da uđe u njega, da ostane unutar njega dok je otvoren i da se vrati na element koji ga je otvorio.
Peta stavka je razlog zbog kog filtriranje kataloga zaslužuje posebnu pažnju. Kada smo radili katalog za Cvetam u koji se ulazi po prilici i cenovnom rangu, ulaz nije bio standardna WooCommerce lista nego sopstvena kontrola. Svaka takva kontrola mora da bude pravo dugme, sa imenom, stanjem i mestom u redosledu fokusa, a ne obojeni pravougaonik koji reaguje na klik.
Četvrta stavka se popravlja najbrže, a razlika u kodu je mala:
Provera za petnaest minuta
Ne treba vam ni revizija ni budžet da biste saznali kako stojite. Treba vam petnaest minuta i tri prolaza kroz isti put: početna, kategorija, strana proizvoda, korpa, naplata.
Prvi prolaz radite samo tastaturom. Sklonite ruku sa miša i idite Tabom kroz ceo tok kupovine. Gledate tri stvari: da li u svakom trenutku vidite gde je fokus, da li se fokus kreće redosledom koji prati ono što je na ekranu i da li negde upadnete u element iz kog ne možete da izađete. Ako ne možete da dodate proizvod u korpu i završite porudžbinu bez miša, problem nije u detalju nego u celom toku.
Drugi prolaz je uvećanje. Postavite zum browsera na 200 posto, pa zatim suzite prozor na širinu telefona. Treba da tekst ne bude odsečen, da se sadržaj ne preklapa, da se ne pojavi horizontalno skrolovanje i da zaglavlje koje prati skrol ne pojede pola ekrana. Dugme za završetak porudžbine mora i dalje da bude dostupno i upotrebljivo.
Treći prolaz je automatski alat: bilo koji besplatan alat za proveru u browseru, pušten na tri ili četiri različite vrste stranica, ne samo na početnoj. Tu treba biti pošten. Automatski alati pouzdano hvataju samo deo kriterijuma, uglavnom one merljive, kao što su kontrast, nedostajući alt tekst i polja bez oznake. Nijedan alat ne može da oceni da li je alt tekst tačan, da li redosled fokusa ima smisla ni da li je poruka o grešci razumljiva. Prazan izveštaj ne znači da je sajt usklađen; znači da su sklonjene greške koje mašina ume da vidi.
Kada to više nije posao koji možete sami
Prve tri stavke sa liste obično su posao za temu i CSS: kontrast, alt tekstovi, oznake polja. To može da se odradi interno i vredi uraditi odmah, jer isti posao popravlja i pretragu i broj završenih porudžbina.
Granica se prelazi na četvrtom i petom problemu. Kada je zamka za tastaturu u pluginu koji ne održavate, kada je naplatu proširio neko drugi, kada tema koristi sopstvene kontrole umesto standardnih elemenata ili kada vam treba izjava o usklađenosti koju možete da branite, popravka prestaje da bude podešavanje i postaje razvoj. U tom trenutku se isplati da razvoj WooCommerce prodavnice na nivou koda uzmete kao posao sa planom i redosledom, umesto kao niz zakrpa koje jedna drugu poništavaju.
Redosled koji predlažem je nezanimljiv i baš zato radi. Prvo prođite kupovni tok tastaturom i uklonite sve što blokira porudžbinu. Zatim rešite kontrast i oznake polja, jer su jeftine intervencije koje se vide na celom sajtu. Onda uzmite sopstvene kontrole jednu po jednu i dajte im ulogu, ime i upravljanje fokusom. Na kraju napišite izjavu o pristupačnosti sa datumom i poznatim odstupanjima i zabeležite da je proverite kada sledeći put budete dirali naplatu.
Nijedan od ovih koraka ne traži redizajn. Traži se samo da neko jednom prođe sajt bez miša i zapiše šta ne radi.