3.1.1 Hlavný jazyk stránok nie je programovo určený
Porušenie sa týka celého webového sídla.
Popis problému:
Element <html> nemá na žiadnej stránke atribút lang — ani v HTML, ktoré posiela server, ani v DOM po načítaní aplikácie (overené na úvodnej stránke, na všetkých krokoch sprievodcu a na chybovej stránke 404). Príčinou je komponent <Html> v súbore src/pages/_document.tsx, ktorý sa vykresľuje bez atribútu lang. Obsah stránok je pritom celý v slovenčine.
Dopad:
Čítač obrazovky podľa atribútu lang vyberá hlas a pravidlá výslovnosti. Bez neho použije predvolený jazyk svojho nastavenia — používateľovi s inak nastaveným čítačom obrazovky (napríklad s anglickým hlasom) prečíta slovenský text s cudzou výslovnosťou a text je ťažko zrozumiteľný. Jazyk stránky využívajú aj prehliadače pri automatickom preklade a delení slov a nástroje na čítanie textu nahlas. Postihnutí sú nevidiaci a ťažko slabozrakí používatelia čítačov obrazovky, používatelia s poruchami čítania (dyslexia), ktorí používajú hlasové čítanie, a používatelia prekladu.
Závažnosť: vysoká — týka sa každej stránky a celého obsahu.
Efektívne riešenie:
Pre splnenie kritéria úspešnosti je potrebné určiť hlavný jazyk stránok atribútom lang="sk" na elemente <html>. V aplikácii Next.js (Pages Router) stačí jedna zmena v src/pages/_document.tsx:
<Html lang="sk">