CSSLab » HTML http://www.csslab.cl Un laboratorio de ideas para la web en español Thu, 12 Jan 2012 02:32:35 +0000 en hourly 1 http://wordpress.org/?v= Ordenando la cabeza http://www.csslab.cl/2011/07/19/ordenando-la-cabeza/ http://www.csslab.cl/2011/07/19/ordenando-la-cabeza/#comments Tue, 19 Jul 2011 17:33:27 +0000 Jorge Epuñan http://www.csslab.cl/?p=788 Muchas veces nos esforzamos en tener el código más limpio y pulcro posible, pero no nos fijamos en lo que sucede dentro del <head></head>. Es una parte vital, donde se define el comportamiento de toda la página web. Pero primero, debemos entender cómo el browser lee una página web.

Cuando un navegador comienza a parsear una página, comienza a leer desde el encabezado, claro. Si la respuesta del encabezado del content-type especifica un atributo charset, esos bytes pueden ser interpretados inmediatamente como texto utilizando el encoding determinado. Sin embargo, si una declaración charset no está presente, el browser comienza a escanear los bytes de de respuesta del cuerpo, buscando por algún marcador unicode ó algún elemento dentro del meta http-equiv que especifique el charset. Cuando lo encuentra el parser vuelve a leer el documento para asegurarse que lo anterior sea leído correctamente. Ahora, si una declaración de charset no está definido, el browser está obligado a autodetectar el encoding dependiendo del contenido, lo que puede provocar errores de caracteres o en la página misma.

Luego, son leídos el título, favicon y los estilos (<link>) los que deben estar en concordancia con el charset definido anteriormente.

Finalmente, el orden ideal propuesto por la mayoría de los navegadores modernos es el siguiente:

<doctype> 
<html> 
      <head> 
         <meta http-equiv content-type charset> 
         <title>
         <link rel="alternate" />
         <link rel="shortcut icon" />
         <link rel="stylesheet" type="text/css" />

Parece obvio, pero no muchas veces se cumple.


No incluí <script></script> intencionalmente ya que existen escuelas que dicen que es mejor incluirlos abajo del código de tu página, antes del </body>, lo que no valida en el código HTML pero acelera la carga de los elementos del DOM y deja para el final la carga de los scripts. Mejor lo dejo a criterio de cada desarrollador.

Links:

]]>
http://www.csslab.cl/2011/07/19/ordenando-la-cabeza/feed/ 5
El olvidado rel http://www.csslab.cl/2010/09/02/el-olvidado-rel/ http://www.csslab.cl/2010/09/02/el-olvidado-rel/#comments Thu, 02 Sep 2010 18:19:54 +0000 Jorge Epuñan http://www.csslab.cl/?p=640 ¿Por qué gastarme el tiempo de escribir un artículo sobre un atributo HTML tan antiguo, y por qué ustedes gastarían el suyo en leerlo? Que buenas preguntas para comenzar a redactar un tema donde es necesario aclarar sus usos y recalcar sus funciones, principalmente cuando las escuelas actuales aún son incipientes en enseñar la teoría por detrás de los fundamentos de los web standards. Comencemos con la parte aburrida:

El atributo rel describe la relación del presente documento al link (href) o ancla (name) especificado en el atributo href="". El valor de este atributo puede ser más de uno y al igual que las clases, separados por espacio.

Tiempo de una pausa para un pequeño detalle.

Este atributo dentro de un link <a></a> no es utilizado ni reconocido por ningún browser actualmente (por eso seguramente ha sido menospreciado y olvidado por tanto tiempo).

Entonces, ¿para qué seguir gastando nuestro tiempo? Pues rel="" sí es considerado por los buscadores para obtener más información sobre los enlaces, y es muy difundido mediante microformatos.

Los valores de este atributo para HTML 4.01 son (o eran, como quieras verlo):

alternate
una versión alternativa del documento (por ej. una traducción, página para impresión, etc).
stylesheet
este es familiar; es una hoja de estilos linkeada externamente.
start
el primer documento de un conjunto de documentos. Este valor le indica a los buscadores que la página es considerada el punto de inicio de la colección.
prev, next
documento anterior y siguiente de una misma colección de documentos; podría utilizarse para pre-cargar los documentos siguientes.
contents
una tabla de contenidos para el conjunto de documentos.
index
una página que ofrece un índice para los documentos.
glossary
una página con un glosario de términos para el conjunto de documentos.
copyright
textos legales para todo el documento.
chapter
pagina que abre un capítulo.
section
pagina que abre una sección.
subsection
pagina que abre una sub-sección.
appendix
el apéndice.
help
una página de ayuda (más información, otras fuentes de información, instrucciones, etc).
bookmark
pagina con enlaces a contenido dentro del mismo conjunto de documentos.

Para HTML 5 y a través de los microformatos (prácticamente XFN), se ha privilegiado la relación de enlaces a personas más que a documentos o partes de él. Los siguientes son los -hasta ahora- aprobados para HTML 5:

acquaintance
la persona linkeada ofrece conocimiento anexo al documento actual.
child
la persona referenciada es hija de la persona autora del documento.
co-resident
la persona referenciada vive en la misma casa del autor.
co-worker
la persona referenciada trabaja con el autor.
colleague
la persona referenciada es colega del autor.
contact
el autor considera a la persona referenciada como un contacto.
crush
la persona referenciada atrae al autor.
date
el autor está saliendo con la persona referenciada.
kin
la persona referenciada es parte de la gran familia del autor.
me
la persona referenciada y el autor son la misma persona.
met
el autor conoce a la persona referenciada.
muse
la persona referenciada inspira al autor.
neighbor
la persona referenciada vive cerca o es vecino del autor.
parent
la persona referenciada es padre del autor.
sibling
la persona referenciada es hermano(a) del autor.
spouse
la persona referenciada es cónyugue del autor.
sweetheart
el autor considera al(a) referenciado(a) como su cariño.

A partir de necesidades específicas de fabricantes de browsers y de tecnologías, se han creado algunos valores que son específicos, como:

nofollow
es utilizado por Google para especificar que el spider de indexación no debe seguir ese link.
shortcut icon
reconocido por los browsers modernos para enlazar un archivo favicon.ico.
apple-touch-icon
utilizado por Apple para especificar un archivo ícono para un sitio web.

Pues como leen, este malhogrado atributo está resucitando y nos permite vincular objetos y documentos con una semántica nunca antes vista. Queda en nosotros utilizarla correctamente y sacarle provecho en nuestros proyectos.

 

Links:

]]>
http://www.csslab.cl/2010/09/02/el-olvidado-rel/feed/ 5
CSS Reseter v2 http://www.csslab.cl/2010/06/01/css-reseter-v2/ http://www.csslab.cl/2010/06/01/css-reseter-v2/#comments Tue, 01 Jun 2010 21:45:53 +0000 Jorge Epuñan http://www.csslab.cl/?p=551 Inaugurando el rediseño de este sitio, orientado completamente hacia los nuevos estándares que espero algún día pronto sea aprobado y (bien) aplicado por los fabricantes de browsers, he mejorado la versión de mi ya fiel CSS Reseter que tanto me ha ayudado en innumerables proyectos.

Para esta nueva versión, he agregado las nuevas etiquetas que conforman HTML 5 para elementos de tipo bloque (las que son inline no las necesitan) y aproveché de realizar las siguientes mejoras en lo existente:

  • Soporte para nuevas etiquetas HTML 5
  • Mejor reset para campos de formularios
  • Mejoras para listas ordenadas (<ol>) y tablas (<table>)

Ya está activo en este nuevo sitio, y espero sea aprovechado y de mucha ayuda en sus proyectos. La idea, como saben, es simplificar el codificado mediante el reset de estilos que traen por defecto los navegadores web.

Bajar hoja de estilo (.zip)

]]>
http://www.csslab.cl/2010/06/01/css-reseter-v2/feed/ 10
Tip Precoz 5: teclados de iPhone/iPad http://www.csslab.cl/2010/04/20/tip-precoz-5-teclados-de-iphoneipad/ http://www.csslab.cl/2010/04/20/tip-precoz-5-teclados-de-iphoneipad/#comments Tue, 20 Apr 2010 19:49:08 +0000 Jorge Epuñan http://www.csslab.cl/?p=538 Como muchos ya saben, Webkit siempre ha sido pionero en implementar nuevas tecnologías y las últimas versiones de los lenguajes web existentes. Muchas etiquetas y atributos de HTML 5 por ejemplo, ya se pueden utilizar desde hace mucho tiempo en browsers como Safari, Konqueror y Chrome. Este pequeño tip mostrará un atributo de HTML 5 que implementado, ayudará a que la experiencia de usuario de Safari para iPhone y iPad sea mejor.

En un campo de formulario, cuando lo seleccionas en iPhone/iPad para completarlo, automáticamente te muestra el teclado touch del aparato. Aparte del teclado QUERTY por defecto, existen 3 valores para type="" de <input /> que muestran diferentes tipos de teclados: numéricos, url y de e-mail:

<input type="text" /> (por defecto)

CSSLab: teclados para iPhone/iPad

<input type="url" />

CSSLab: teclados para iPhone/iPad

<input type="number" />

CSSLab: teclados para iPhone/iPad

<input type="email" />

CSSLab: teclados para iPhone/iPad

Los browsers que no soporten HTML5 lo obviarán y degradarán como si fuera un campo de tipo texto (type="text").

Se nota como un detalle menor pero seguro tus usuarios lo notarán y te diferenciarás con este tipo de detalles.

]]>
http://www.csslab.cl/2010/04/20/tip-precoz-5-teclados-de-iphoneipad/feed/ 5
Videocast 4: formulario http://www.csslab.cl/2010/04/08/videocast-4-formulario/ http://www.csslab.cl/2010/04/08/videocast-4-formulario/#comments Thu, 08 Apr 2010 15:09:23 +0000 Jorge Epuñan http://www.csslab.cl/?p=533 Tenía hace unos meses preparado un nuevo videocast para ayudar a quienes están aprendiendo a maquetar en HTML+CSS a realizarlo con campos de formularios. Lejos es lo más complicado que me ha tocado perfeccionar, pero se trata principalmente de practicar y de realizar la mayor cantidad de variaciones posibles para lograr un buen manejo de las etiquetas y conocer cómo se comportan en los diferentes browsers. A modo de ejemplo, la siguiente imagen grafica un mismo archivo HTML con diferentes tipos de <input /> con diferentes estilos en diferentes browsers:

Diferencias de input entre browsers - CSSLab.cl

En esta ocasión el layout es bastante simple, uno típico que encontrarás en cualquier sistema de comentarios para blogs. Pero es un buen puntapié para que veas de qué se trata esto. Además, contiene las etiquetas fundamentales y más utilizadas para capturar datos de usuarios.

Videocast 4 versión stream
Videocast 4 versión completa

Espero sea de ayuda y que se entienda, como siempre lo muestro en 2 formatos: streaming para web y uno en alta calidad para que lo bajes y estudies offline. Además, puedes descargar el material utilizado para este videocast.

]]>
http://www.csslab.cl/2010/04/08/videocast-4-formulario/feed/ 7
¿Ansioso por HTML 5? http://www.csslab.cl/2009/09/29/%c2%bfansioso-por-html-5/ http://www.csslab.cl/2009/09/29/%c2%bfansioso-por-html-5/#comments Tue, 29 Sep 2009 21:32:46 +0000 Jorge Epuñan http://www.csslab.cl/?p=482 Con la aparente decisión de que el nuevo estándar a ser adoptado por la comunidad desarrolladora web será HTML 5, existen ansias de disfrutar luego todas su bondades, aunque siento aún lejano su total uso dado lo lento que suele ser por parte de los usuarios la actualización de sus navegadores a uno más moderno y que soporte estas nuevas especificaciones, que ya han ido apareciendo. Pero eso no quita que desde ya comencemos a jugar un poco con él.

Ya he comentado sobre las características de este nuevo estándar, y en este momento nos concentraremos en una maqueta funcional utilizando las nuevas etiquetas y sus nuevas posibilidades. Es interesante saber que podemos utilizar elementos de HTML 5 en estos momentos aunque la mayoría de los browsers aún no lo soporten; esto se debe a que CSS puede dar estilo a cualquier etiqueta, aunque ésta prácticamente no exista (aún). Por ejemplo, si me da la gana puedo inventar una etiqueta propia y darle estilos:

<jorge></jorge>
jorge {
  display: block;
  width: 300px;
  height: 100px;
  border: 1px solid #666
}

Aunque semánticamente no va a tener valor alguno para los buscadores (y menos para los usuarios). Pero en este artículo comencemos a armar una estructura completamente en HTML 5:

<header>
  <p>Header</p>
</header>
<nav>
  <p>Menu</p>
</nav>
<section>
  <p>Section</p>
    <article>Article</article>
    <article>Article</article>
</section>
<footer>
  <p>Footer</p>
</footer>

CSSLab.cl - HTML 5 Markup

Por defecto CSS asume que un elemento es inline. Para elementos definidos en HTML 4 como <div> ó <fieldset>, los estilos predeterminados por el browser para estas etiquetas los sobreponen y los hacen bloques, pero por esta vez lo haremos manualmente para las nuevas etiquetas HTML 5 que vayamos a utilizar:

header, nav, section, article, footer {
  display: block;
}

Luego podremos definir los estilos para crear la estructura que nos convenga:

header {
  width: 90%;
  overflow: hidden;
}
nav {
  width:20%;
  float: left;
  margin-right: 1%;
}
section {
  width:67%;
  float: left;
}
article {
  background: #999;
}
footer {
  width:90%;
  overflow: hidden;
  clear:both;
} 

Ver ejemplo 1

Los browsers modernos no tendrán problemas hasta ahora; sin embargo los hechos en Redmond se rehusarán a mostrar los estilos CSS hasta que tengamos que enseñarles a comportarse como se debe. Por suerte con una pequeña ayuda de Javascript crearemos estos elementos para que IE sepa qué hacer con ellos y los estilos ya definidos:

document.createElement("header"); 
document.createElement("nav"); 
document.createElement("section");
document.createElement("article");
document.createElement("footer"); 

Ver ejemplo 2 (En IE)

Ahora un ejemplo utilizando la nueva etiqueta <video />, la que (por estos momentos) utiliza el codec Ogg Theora para comprimir los videos (necesitarás Quicktime ó similar para poder exportarla en este formato). Con un poco de JS podremos manejar los botones de comando y la línea de tiempo de las películas sin mayores complicaciones, como en el siguiente ejemplo:

function Play(str) {
  var video = document.getElementById(str)
  video.play();
}

Ver ejemplo 3 (en Safari 4, Opera 10+, Firefox 3.5+, Chrome 2+)

Links:

]]>
http://www.csslab.cl/2009/09/29/%c2%bfansioso-por-html-5/feed/ 6
Cómo superar IE6-IE7-IE8 (y no morir en el intento) http://www.csslab.cl/2009/09/10/como-superar-ie6-ie7-ie8-y-no-morir-en-el-intento/ http://www.csslab.cl/2009/09/10/como-superar-ie6-ie7-ie8-y-no-morir-en-el-intento/#comments Thu, 10 Sep 2009 21:39:04 +0000 Jorge Epuñan http://www.csslab.cl/?p=478 Este 2009 ha sido un año lleno de transiciones: llega IE8 pero aún persiste el fantasma de IE6; finalmente se ve un futuro más nítido con HTML5 y CSS3, pero persisten las limitaciones del soporte por parte de los fabricantes de browsers. Precisamente en ese purgatorio en que nos encontramos actualmente es cuando debemos ser más hábiles sobre qué, cómo y cuando utilizamos las herramientas que más nos acomoden. Personalmente y como he comentado anteriormente, he comenzado a utilizar propiedades CSS3 que me hacen utilizar menos tiempo y recursos en lograr los mismos efectos que antes me limitaba; me refiero a text-shadow, border-radius, opacity y rgba() entre otros. Si utilizas un browser moderno, los podrás apreciar sin problemas; caso contrario, de igual manera se desplegará la información pero la experiencia no será la misma – lo que se denomina como graceful degradation ó, a falta de una traducción literal, degradación elegante-. Tengo la fortuna de trabajar con clientes y colegas que comparten esta forma de trabajar, siempre mirando hacia adelante y no frenándose debido a limitaciones ajenas a nuestro poder.

Desarrollar pensando en 3 versiones de browser de una misma empresa, cada uno menos peor que el otro, es un problema grave. En este artículo, quiero compartir mi experiencia sobre cómo lograr los menos problemas posibles, creando un layout que se vea de manera similar en la mayoría de los navegadores disponibles en el mercado. Básicamente enunciaré algunos consejos prácticos que por mi experiencia ayudan en esta ardua tarea:

Usar un buen reseter CSS.

No pretendo difundir el mío, pero sinceramente no me ha dado problemas de ningún tipo y me acompaña siempre en mis grandes proyectos. Con él, me permito reescribir los estilos que defina como prioritarios, sin perder tiempo en arreglar los defectos de IE6. Un impresindible en grandes proyectos.

Entender cómo funciona IE6.

No basta con cabecearse cuando encuentras un descalce en tu layout que piensas funciona perfecto en todos los navegadores, hasta que lo pruebas en IE6. Deberías conocer -y prevenir- que IE6 tiene problemas posicionando relative/absolute/fixed, con el modelo de caja, doble margen a elementos flotados, utilizando z-index, soportando canal alpha para archivos PNG, con porcentaje como unidad de medida, con overflow, con pseudo-classes, con min-height, max-height, min-width, max-width… etc, etc, etc. Con eso en mente, puedes evitar muchos problemas desde el comienzo.

Tener mucho cuidado con IE7.

Microsoft lo presentó como una necesaria actualización a IE6, pero fue un gran FAIL. Arregló algunos bugs, pero sacó a luz otros nuevos; realmente me intriga qué sucede con el departamento de informática de esa compañía, cómo logran caer en los mismos errores una y otra vez. El principal problema de IE7 es el uso de position: relative/absolute aunque me he deparado con algunos errores menores por ahí.

Usar meta-tag para IE8.

Siento que Microsoft se apresuró mucho en lanzar IE8, probablemente presionada por las contínuas mejoras de sus compeditores Opera, Safari y Mozilla. A raíz de esto, he visto como de una actualización a la siguiente el comportamiento de este browser respecto al renderizado de HTML y CSS es muy diferente, muy pero my diferente; a tal nivel de que un cliente reclame que su nuevo y flamante sitio no se vea bien en este navegador, y antes que yo pudiera investigar qué estaba sucediendo el cliente me comenta:

Bah, ahora se ve bien… actualice IE8 anoche y se arregló.

Mi solución hasta ahora es una alternativa que viene de la misma casa de Redmont: una etiqueta <meta> que hace que IE8 se comporte como si fuera IE7; así de simple. Hace lo mismo que el Compatibility Button, pero lo ejecuta desde el comienzo de la carga del documento:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>

Probar, probar, probar…

Aunque seas un master de las hojas de estilo y del HTML, no deberías dejar para el final probar en los principales browser, y menos aún confiarte del preview de Dreameaver (grave error); debes probar casi que a cada nueva definición de propiedad. El costo de volver atrás es muy alto como para arriesgarte, no pierdas tu tiempo por confiarte demasiado. Probando en Safari y Firefox primero, luego en IE7 e IE6 para los detalles menores… pero nunca, nunca maquetar para IE: lo más seguro es que tendrás que deshacer más de lo que ya hayas hecho.

Links

]]>
http://www.csslab.cl/2009/09/10/como-superar-ie6-ie7-ie8-y-no-morir-en-el-intento/feed/ 16
Mejor accesibilidad http://www.csslab.cl/2009/06/10/mejor-accesibilidad/ http://www.csslab.cl/2009/06/10/mejor-accesibilidad/#comments Wed, 10 Jun 2009 14:14:33 +0000 Jorge Epuñan http://www.csslab.cl/?p=444 Ponerse en el lugar del usuario; es un principio básico que deberíamos adquirir si queremos que nuestro proyecto web tenga éxito no sólo para nuestros bolsillos, sino que perdure y tenga pregnancia en la experiencia del usuario.

¿Qué marcaría una diferencia? El diseño, obviamente es lo primero que encanta; contenido bien estructurado y ordenado, pensado hacia una mejor buscabilidad y encontrabilidad; funcionalidades útiles y no sólo efectistas, también. Pero insisto, ¿cómo lo llevamos aún más allá?

La accesibilidad es la capacidad de acceso a la web y sus contenidos por todos los usuarios, independiente de la discapacidad física, intelectual o técnica que tengan.

Si escribimos nuestro XHTML con una semántica correcta y con el diseño separado en su propia hoja de estilos, ya estamos aportando a una mejor acccesibilidad permitiendo a los ciegos leer el contenido a través de un lector de pantalla, además de independizar el dispositivo sobre el cual será vista la web (teléfonos celulares, laptops, computadores de escritorio, etc.). Si tenemos el tamaño de los textos de una dimensión considerable y ojalá en una unidad relativa que sea independiente de la resolución del usuario, estaremos garantizando mejor accesibilidad a usuarios con problemas visuales. Ahora, si le damos la posibilidad al usuario de escojer el tamaño te fuente que más le acomode, mejor aún.

Estas normas mínimas de accesibilidad pueden aumentarse con muy poco esfuerzo, y ahora me gustaría presentar uno que no es muy utilizado pero no por eso menos importante: el atributo accesskey. Con él, permitimos que el usuario navegue por enlaces sólo con el uso de teclas especificadas en el desarrollo del sitio. Su implementación es bastante rápida:

<a href="index.html" accesskey="i">Inicio</a>

Así, permitimos que se pueda ir a la página de inicio no sólo haciendo click en el enlace, sino que utilizando la combinación control+i del teclado. Lamentablemente esta combinación es arbitraria por plataforma:

  • Chrome: Alt+Accesskey
  • Firefox: Alt+Shift+Accesskey (Win) Ctrl+Accesskey (Mac)
  • IE: Alt+Accesskey
  • Opera: Shift+Esc+Accesskey
  • Safari: Ctrl+Accesskey

Además, deberías indicarle a tus usuarios la tecla correspondiente al accesskey, y los selectores avanzados de atributo son una gran ayuda:

a:after {
  content: " [" attr(accesskey) "] ";
}

Ver ejemplo

]]>
http://www.csslab.cl/2009/06/10/mejor-accesibilidad/feed/ 6
Horror #4 http://www.csslab.cl/2009/04/06/horror-4/ http://www.csslab.cl/2009/04/06/horror-4/#comments Mon, 06 Apr 2009 22:58:27 +0000 Jorge Epuñan http://www.csslab.cl/?p=417 <title>Título del Sitio – <DIV>Subsección</DIV></title>

Esta es una joya… nunca, pero NUNCA había visto un <div> dentro de la etiqueta <title>… ¡Al parecer pretendían implementar los estándares desde el comienzo del código HTML! Quedé anonadado…

]]>
http://www.csslab.cl/2009/04/06/horror-4/feed/ 18
Enlaces vacíos y semánticos http://www.csslab.cl/2009/04/06/enlaces-vacios-y-semanticos/ http://www.csslab.cl/2009/04/06/enlaces-vacios-y-semanticos/#comments Mon, 06 Apr 2009 14:40:54 +0000 Jorge Epuñan http://www.csslab.cl/?p=415 Si desayunas jQuery, almuerzas Mootools y cenas Spry entonces seguro te gusta manipular eventos utilizando elementos del DOM ya generados. Deben saber que la etiqueta correcta para click (y doubleclick) es <a> y solamente <a>; todas las demás tienen otros muchos usos pero la única que semánticamente está habilitada para desencadenar una acción mediante un click es… ¡<a>!

Bien eso era lo primero que quería dejar claro; he visto demasiados <li>, <h1>, incluso <p> clickeables. Ahora, a lo que va este artículo es cómo la semántica se está dejando atrás por la comodidad de escribir eventos mediante JS. Me culpo también por caer en lo mismo, pero me interesa ahora mostrarles la mejor solución que he encontrado al respecto.

Pongámonos en un caso de ejemplo. Supongamos que se agrega una función para ejecutar un slideToggle a un enlace; por lo que he visto generalmente esto se hace de 2 maneras:

<a href="#" id="ejecuta_toggle">Ejecutar slideToggle</a>

Cumples con tener un href funcional (no vacío) pero puede hacer que al hacer click la página haga scroll hasta el inicio dado que tienes un ancla vacío en el href y quizás tengas que dar un return false al final de la función del slideToggle, ó

<a href="javascript:void(0)" id="ejecuta_toggle">Ejecutar slideToggle</a>

Que hace que el browser no ejecute el enlace y no se salga de la misma página.

Enfin, son 2 métodos similares y que cumplen con el objetivo primario de ejecutar algun comportamiento mediante Javascript a través de un hyperlink. Pero nuevamente mi pregunta: ¿Qué sucede con la semántica? ¿Cómo le digo al buscador, indexador, robot que ese <a> no es un enlace realmente? ¿Que lo estoy disfrazando para cumplir con mis objetivos?

Complicada pregunta y simple respuesta. Con esta inquitud espero que puedan ir más allá en sus desarrollos; recuerden que un simple click puede desencadenar muchos más eventos que los que tienen planificado para él, eventos que benefician a sus usuarios mediante indexaciones más precisas.

La solución

Entreguen una ancla semántica al hyperlink, pero una ancla sobre sí mismo. Ejemplifico con lo mismo que he estado utilizando:

<a href="#ejecuta_toggle" name="ejecuta_toggle" id="ejecuta_toggle">Ejecutar slideToggle</a>

Con este método conservan la semántica indicando a través del atributo name qué hará ese mismo enlace y al mismo tiempo evitan el movimiento de scroll de la página.

]]>
http://www.csslab.cl/2009/04/06/enlaces-vacios-y-semanticos/feed/ 8
1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60|61|62|63|64|65|66|67|68|69|70|71|72|73|74|75|76|77|78|79|80|81|82|83|84|85|86|87|88|89|90|91|92|93|94|95|96|97|98|99|100|101|102|103|104|105|106|107|108|109|110|111|112|113|114|115|116|117|118|119|120|121|122|123|124|125|126|127|128|129|130|131|132|133|134|135|136|137|138|139|140|141|142|143|144|145|146|147|148|149|150|151|152|153|154|155|156|157|158|159|160|161|162|163|164|165|166|167|168|169|170|171|172|173|174|175|176|177|178|179|180|181|182|183|184|185|186|187|188|189|190|191|192|193|194|195|196|197|198|199|200|201|202|203|204|205|206|207|208|209|210|211|212|213|214|215|216|217|218|219|220|221| viagrea onling viagra tablets name and cost levitra and dapoxetine youtube/viagra cialis extra generic viagra accepting american express buy generic viagra online with no prescription with mastercard generic levitra 20 mg levitra pro buy viagra online in ireland is it illegal to order viagra from outside the united states cheapest generic cialis buy cheap levitra overnight delivery cialis wears off airport security generic viagra generic finasteride viagra for sale using paypal ukAccutane Online Doxycycline online Buy Cheap Lexapro Online No Prescription Prednisone Online Buy Accutane No Prescription