Jak to schować i dlaczego nie display:none
05 paź 2009Strona zrobiona semantycznie, kod się waliduje, a części nawigacji i objaśnień nie słychać, czemu?
Najczęściej dlatego, że webdeveloper skutecznie to schował. Zdarza się, że do ukrywania elementów, które maja być widoczne po wykonaniu określonej akcji (przy okazji uwaga: nie ma myszki, nie ma mouseover / :hover !) albo co gorsza do ukrycia przed widzącymi dodatkowych elementów przeznaczonych dla użytkowników screenreaderów wykorzystywane są niewłaściwe style:
display:none/visibility:hidden;ich użycie spowoduje, że element będzie skutecznie ukryty przed screenreaderami.- Podobnie w przypadku rzadziej spotykanego
width:0; height:0;. Zerowymiarowe elementy wypadają z biegu (flow) dokumentu i w takiej postaci zostaną pominięte przez wiele z czytników. - Nieco lepiej wypada połączenie overflow:hidden z mocno ujemnym wcięciem text-indent (np.
text-indent:-10000px;). Jednak w przypadku wystąpienia w takim elemencie linku w warstwie wizualnej może on się uwidocznić jako obszar aktywny od oryginalnego miejsca położenia do obecnego wymuszonego przez ujemne wcięcie. Jak to może wyglądać? Ano pojawiająca się ni stąd ni zowąd "łapka" lub obramówka linku w przypadku uzyskania fokusu.
Zatem jak? Czytaj dalej artykuł "Jak to schować i dlaczego nie display:none" »