Blog what I write

Scripts y enlaces

post - - leave a reply -

El titulo de este post hace referencia a una premisa bastante antigua y conocida en el mundo de la accesibilidad web. Desafortunadamente y a día de hoy los scripts siguen vivitos y coleando incrustados en los atributos href de cientos de enlaces.

Siguiendo la tónica anterior voy a seguir incorporando ejemplos reales donde mi intención no es más que la ilustración y crítica constructiva, que por cierto, siempre será bienvenida…

Scripts incrustados en enlacesEn la imagen tenemos un fragmento de la portada del diario ADN, vemos como hay un enlace en una zona privilegiada (la parte superior derecha). El enlace esta destinado para el acceso de los usuarios registrados.

En el código del enlace se encuentra lo siguiente:

<a id="mylogin" class="login" title="Comunidad ADN" onclick="showLayerInPosition('capa_login', findPosX($('mylogin')), findPosY($('mylogin')));" href="#">Entra en tu ADN</a>

Dejando de un lado el pedazo de evento <code>onclick</code>, lo peor de este código es que no tienen en el enlace una referencia hipertextual válida href="#", delegando la función del enlace en un evento. Si el usuario no dispone de Javascript entonces no podrá seguir este enlace.

En la misma página web encuentro también algo similar:

<a  href="javascript:void(0);" onclick="ADN.poll.toVotePollModule(this.parentNode.parentNode.parentNode, 'ADNPOL20081209_0002','/deportes/20081209/POL-0002-Destitucion-Bernd-Real-Madrid-Schuster.html');" class="voteButton"<votar</a>

En este caso el atributo del enlace href no hace referencia a un falso ancla, sino que incrustan en el directamente el javascript.

Los enlaces son sagrados, son realmente la materia prima de la web. Mantenerlos de forma estándar y accesible beneficiará a todos los usuarios.

Se puede indicar un enlace válido y funcional a la vez que se integra un javascript para sacar un pop-up o hacer cualquier efecto.
Por ejemplo:

<a href="login.php" onclick="login();" id="mylogin" class="login" title="Comunidad ADN" onclick=">Entra en tu ADN</a>

Con onclick="login();" podemos hacer lo que queramos gestionado con javascript. Si el usuario no dispone de esta tecnología siempre podrá seguir el enlace a la web login.php, puesto que la referencia hipertextual es válida.