Amagar sense ocultar amb CSS
Sovint ens interessa amagar contingut de la nostra pàgina a l’ull humà com pot ser el cas dels menús per a saltar a continguts de la pàgina, en l’ús de tècniques de reemplaçament de contingut per imatges o per ocultar capçaleres o elements estructurals de la pàgina. És veritat que ens interessa amagar-ho de l’ull humà, però el que no volem de cap de les maneres, és amagar-ho dels lectors de pantalla.
El típic error
Si donem una volta per la xarxa, el que sovint trobem escrit i recomanat, és l’ús de la propietat display: none per a ocultar elements. Amb això satisfem la nostra voluntat de que l’ull humà no percebi el contingut, però el problema és que sovint, els lectors de pantalla tampoc n’interpreten res.
Podríem dir que display: none significa que l’element no existeix: ni es mostra, ni s’imprimeix, ni es llegeix el seu contingut.
La solució
Una tècnica alternativa que es pot considerar és la de posicionar l’element que volem amagar de forma absoluta fora del viewport. Així, l’element existeix però no es percep per l’ull humà. El CSS que podem usar és:
.access {
left: -9999px;
position: absolute;
}
Amb això aconseguim el mateix efecte visual però sense ignorar a una part dels usuaris.
Tot això no és pas invenció meva, sinó que és una adaptació d’un article que vaig llegir fa uns dies.
Etiquetes: accessibilitat, css
13 maig 2009 a les 9.01
Jo vaig estar mirant el mateix article precisament ahir! Hi vaig arribar des d’aquest altre http://webdosanddonts.com/, està prou bé per fer un repàs de bones pràctiques