3.1.2 Názov jazyka v prepínači jazykov nemá programovo určený jazyk
Porušenie sa týka celého webového sídla.
Popis problému:
V prepínači jazykov sú položky „English“ a „Slovenčina“ vytvorené ako tlačidlá formulárov button_to bez atribútu lang. V slovenskom rozhraní je tak anglické slovo „English“ označené ako slovenský text a v anglickom rozhraní slovenské slovo „Slovenčina“ ako anglický text. Zistenie dopĺňa GitHub issue #310, ktoré sa týka stavu rozbalenia a označenia aktuálneho jazyka.
Dopad:
Čítač obrazovky prečíta názov jazyka výslovnosťou jazyka stránky — „English“ ako slovenské „englisch“. Používateľ, ktorý slovenčine nerozumie a hľadá anglickú verziu (napríklad cudzinec s povolením na pobyt), názov svojho jazyka nemusí rozpoznať.
Závažnosť: stredná — týka sa práve ovládacieho prvku, ktorý majú používať ľudia hovoriaci iným jazykom.
Efektívne riešenie:
Pre splnenie kritéria úspešnosti je potrebné každému tlačidlu jazyka doplniť atribút lang s kódom jazyka jeho textu (a odporúčane aj hreflang pri odkazoch):
<%= button_to t("language_switcher.languages.#{locale}"), switch_locale_path(locale: locale),
lang: locale, class: "…" %>