Día 13: Usar vínculos reales

El azote del diseño para Internet es el enlace "javascript:",un seudo-enlace que ejecuta una pieza de código Javascript cuando hace clic en este. El problema más común donde esto ocurre en los registros de apuntes (weblogs) es en el enlace usado para mostrar comentarios en una ventana separada. Por qué es un problema? Porque el 11% de los usuarios de Internet no usan Javascript por una razón u otra, incluyendo a muchos usuarios discapacitados cuyos navegadores no ofrecen soporte para este. Estos seudo-vínculos no funcionan para ellos; en su lugar, use vínculos reales.

Aunque es fácil describir un arreglo sencillo, no puedo recalcar suficientemente lo importante que es este consejo. Algunos problemas, como el no poseer un "enlace de salto" para saltar la barra de navegación, reducen la utilidad a grados variables, pero al menos la pagina puede ser leída eventualmente. Por otro lado, este problema hace que segmentos de contenido importante se encuentren completamente inaccesibles. Si sus comentarios están escondidos detrás de un enlace "javascript:", es como si no existieran.

Quién se beneficia?

  1. Marcus se beneficia. Lynx no ofrece soporte para Javascript.
  2. Michael se beneficia. Links no ofrece soporte para Javascript.
  3. Lillian se beneficia. Aunque ella usa Internet Explorer, su departamento de informática ha implementado una política corporativa para inhabilitar Javascript en todos los sitios, con excepción de unos pocos. Su sitio de Internet no está en el listado disponible para ella.
  4. Google se beneficia. Google quiere seguir vínculos para clasificar mas contenido, pero no puede seguir vínculos "javascript:", porque no ejecuta código Javascript mientras clasifica sitios de Internet.

Como hacerlo

Las plantillas por defecto de Movable Type y Radio ahora mismo hacen esto bien, así que puede que no necesite hacer nada. Vea el código fuente de su pagina de inicio y busque por "javascript:". Si no le encuentra, entonces este consejo no le aplica a usted.

Sin embargo, si su plantilla de Movable Type contiene un enlace como este:

<a href="javascript:OpenComments(<$MTEntryID$>)">Comments (<$MTEntryCommentCount$>)</a>

Entonces cámbielo a esto:

<a href="<$MTCGIPath$>mt-comments.cgi?entry_id=<$MTEntryID$>" onclick="OpenComments(<$MTEntryID$>); return false">Comments (<$MTEntryCommentCount$>)</a>

En navegadores en que Javascript está habilitado, funcionara de la misma forma, porque el atributo onclick toma precedencia sobre el atributo href. Así, que la nueva versión como quiera accede a la función OpenComments function, which pops up a new window. que aparece en una ventana nueva. Sin embargo, los navegadores que tienen habilitado Javascript (y Google) ignorarán el atributo onclick completamente y seguirán el enlace especificado en el href, el cual mostrara el contenido en la misma ventana.

Si está usando seudo-vínculos javascript: por cualquier razón u otra deje de hacerlo. Solamente deje de hacerlo. No se haga el desentendido. Aplique la técnica anterior a su propio código para que los navegadores que no tienen habilitado Javascript siempre tengan la oportunidad de seguir un enlace real.

Lectura añadida

Comentario

Ni siquiera me hagan hablar sobre esos sistemas de menú dinámicos basados en Javascript. Hacen que te veas tan bien como fumar hace que te veas bien. Use vínculos reales.