Před časem jsem, k mému velkému překvapení zjistil, že hlasové
čtečky (screen-readers) nečtou to, co odjakživa skrývám pomocí
display:none
. Velké překvapení, skoro šok. Znamená to
jediné: všechny ty přístupností nablýskané odkazy k přeskakování
navigace jsou vlastně nepřístupné. Neviditelné. Neviditelné ne
jen po vizuální stránce, to znamená tak, jak byly zamýšleny, ale
neviditelné jsou rovněž pro hlasové čtečky… Jak jsem řekl, šok. Toto
chování je od čteček iracionální. A toto chování se děje, ačkoli je
styl linkovaný s média-typem definovaným jako screen
.
Představte si, že by si čtečky najednou začaly interpretovat další
vizuální definice… [smajlík, klepající si na čelo].
Kde že je to dilema? No přece… na stejném místě, na kterém bojuji
proti IE6 pomocí jeho diskriminace. I v případě hlasových čteček mám
sto chutí vykašlat se na nějaké dobré snahy, aby mé úmysly idiot chápal
správně.
Stejně jako v boji proti IE není
problém tu a tam doplnit styl _pro-blbce: ještě-jednou;
nebo věnovat pár minut k napsání podmíněně-komentovaného stylopisu…
u čteček není problém místo display:none;
psát
height:0; ...
. Jenže tady jde o princip… a také mi astroložka
pověděla, že jsem jeden z těch tvrdohlavých a neústupných. Zkrátka mám
pocit, že ustupování, podřizování se, a všechny tyto dobré činy jen
napomůžou tomu, aby pro tvůrce čtecích zařízení přestal existovat
důvod, proč chování čteček uvést zpět ke smysluplnosti.
PS: Jon Hicks nebo třeba Plaváček (nebo třeba i já) to dělají
cca takle:
.noscreen {
position: absolute;
left: -999px;
width: 990px;
}