Rel-aciona

Experimentando como siempre con XHTML he puesto en práctica otra mejora semántica en mis enlaces. Antes, cuando quería referenciar a una entrada en mi bitácora, ponía una serie de atributos que mejoraban la semántica de mis documentos. Incluía el atributo rel="help" cada vez que quería referenciar una entrada, haciendo de éste un enlace erróneo. Sí, me equivoqué feo en emplear esto pero todavía estoy a tiempo de mejorarlo y todo gracias a que, medianantente, tengo bien formateado mi contenido.

Viendo la especificación, me di cuenta que podía referenciar mejor los enlaces y todo sin tener que inventarme mis propias referencias (entiéndase por rel="amigo", rel="jueguito", etc.) ya que la especificación de relaciones ya trae un set de atributos perfectos para describir la estructura de un documento o una web. Este set de atributos están definidos tan bien que podemos referenciar cualquier parte crítica de un documento: inicio, capítulo, subcapítulo, categoría, ayuda, página de inicio, etc..

Con ellos podemos aprovechar la semántica en esta capa de la web, mejorando nuestros documentos o posts (en el caso de los blogs) para los agentes de usuario (entiéndase como navegadores o dispositivos para utilizar la web). Si quiero enlazar una bitácora, simplemente utilizo esta estructura de enlace:

<a href="http://www.minid.net" rel="Start" title="Minid.net">Minid.net</a>

Este tipo de enlace es simple, además el atributo Start agrega el toque semántico ideal para enlazar una página de inicio. Esto, más allá de estar en inglés, permite tener la seguridad de que, en un futuro o ahora, se analicen enlaces y de una forma más eficiente. Adelante les mostraré las posibles aplicaciones que tiene estos atributos.

Los atributos definidos por el W3C para referenciar tipos de contenidos o documentos son estos: Alternate, Start, Next, Prev, Contents, Chapter, Glosary, Appendix, Section, Subsection, Help y Bookmark.

Alternate

Señala las versiones substitutas para el documento en el cual la conexión ocurre. Cuando está utilizado junto con el atributo del lang, implica una versión traducida del documento.

También podría aplicarse para diferenciar versiones del mismo documento, ya sea en formato PDF, PNG u otro formato de conveniencia para el desarrollador o el usuario:

Ejemplo en el navegador:

Ver esta versión en inglés o en PDF .

Ejemplo en el código de la página:

<p>Ver esta versión <a href="ingles.php" rel="alternate" hreflang="en">en inglés</a> o en <a href="documento.pdf" rel="alternate"> <abbr title="Portable Document Format" lang="en">PDF</abbr> </a>.</p>
Start

Refiere al primer documento en una colección de documentos. Este tipo de la conexión dice a motores de búsqueda qué documento es considerado por el autor ser el punto de partida de la colección.

Esto tiene casi la misma aplicación que chapter, home pero se utiliza para especificar por ejemplo una cadena de documentos lineales de algún tema. Si dentro de un chapter alojamos varios documentos el documento que inicia esa cadena debe estar referenciado como rel="start".

Next

Refiere al documento siguiente en una secuencia linear de documentos. Los agentes del utilizador pueden elegir cargar el documento siguiente, para reducir el tiempo de carga percibido.

Si en el ejemplo anterior había mencionado que, el primer enlace a un documento que inicia una cadena de documentos en forma lineal, el segundo de esa cadena tiene que haber sido referenciado con next.

Prev

Refiere al documento anterior en una serie pedida de documentos. Algunos agentes del utilizador también utilizan el sinónimo “anterior”.

Siguiendo la cadena de ejemplos, tenemos que, en el documento anterior había sido referenciado con start, lo que indica que estoy parado en el segundo documento. Si estoy en el segundo documento y quiero hacer un enlace al documento inicial debo marcarlo como prev. Esto crea bidireccionalidad entre documentos encadenados de forma lineal. Si corriera un programa que analice cada enlace podría analizar cada rel start, next y prev y graficarlos a gusto, esta entre otras de las miles de cosas que se podrían hacer.

Contents

Refiere a una porción del documento como índice. Algunos agentes de usuarios (navegadores) también utilizan el sinónimo ToC.

Este podría ser el ejemplo más claro para referenciar a una página que contiene un índice de posts. Sea el archivo de la bitácora, el mapa web de una página corporativa, etc.

Glossary

Refiere a un documento que proporciona a un glosario de los términos que pertenecen al documento actual.

Este referenciador es ideal para apuntar aquellas páginas que tienen definiciones. Muy pocos son las páginas que tienen un glosario de términos, pero cuando se tenga uno convendría utilizar esto.

Chapter

Refiere a una porción del documento como capítulo en una colección de documentos.

Esto se puede utilizar para definir capítulos en una entrada en la bitácora, o bien, para referenciar una entrada en concreto a un tema o categoría en particular.

Section

Refiere a una porción del documento como sección en una colección de documentos.

En este caso, mejor explicado que en el primer párrafo no se puede encontrar. La idea es que esta referencia sirve para marcar una sección, categoría de un tema en particular. Por ejemplo, en un sitio corporativo, todos los enlaces que apunten a la página de inicio de la sección servicios tienen que llevar el rel section especificado.

Subsection

Refiere a una porción del documento como una subsección en una colección de documentos.

Ídem que el anterior pero con subsecciones de una categoría.

Appendix

Refiere a una porción del documento como apéndice en una colección de documentos.

Ideal para apuntar apéndices de un documento. El mejor ejemplo lo pueden ver en cualquier especificación del W3C.

Help

Refiere a una ayuda de ofrecimiento del documento (más información, conexiones a la otra información de las fuentes, los etc.)

Esto puede interpretarse de varias formas, es un arma de doble filo ya que podemos malinterpretar como yo lo hacía en posts. Yo recomendaría utilizar help en estos casos:

  1. Cuando hay que referenciar a una página de ayuda sobre un determinado servicio: Si tienes problemas para hacer llenar nuestro formulario lee nuestro manual de procedimientos.
  2. Cuando referencies en una página un texto de ayuda. En la misma página hay un enlace con un ancla que lleva al usuario unas líneas más abajo de todo el contenido.
  3. Cuando se trate de una página que no sea de inicio, sección o subsección, capítulo ya que existen referencias para ello.
Bookmark

Refiere a un marcador. Un marcador es una conexión a un punto de entrada dominante dentro de un documento extendido. El atributo title se puede utilizar, por ejemplo, para etiquetar el marcador. Observe que varios marcadores pueden estar en un documento.

Una buena opción para aprovechar esto es ubicarle al documento una dirección URL, y a esa URL ponerle un rel="bookmark". Muchos navegadores toman esta directriz para armar accesos directos a documentos.

El proceso es simple, antes de enlazar algo pensamos a dónde va a parar en las estructuras, a qué sección, categoría o parte de los documentos. Gracias a que nuestro sitio está organizado y bien estructurado no cuesta mucho adivinar que rel debemos escoger. Esto cabe destacar, en la práctica es algo opcional y no obligatorio. El documento validará, etc. y etc., pero el nivel semántico bajará.

Cuando hablo de estos temas, me gusta aclarar que es importante que cada desarrollador analice que grado de semántica quiere arribar. Si es bajo porque el fin del sitio no es algo importante entonces que prescinda de estas cosas. Si lo que quiere es abarcar mucho, entonces tendrá que poner esto y algunas cosas más.

Yo cada entrada en mi bitácora que haga le pongo atributos rel i rev dado el caso. Es una cuestión de disciplina y de ganas de ofrecer un contenido bien acabado, lleno de referencias a páginas con atributos que le agreguen valor. Esto claro, es una cuestión friki de cada uno, está claro que si tienes 400 entradas por modificar se tornará en un caos.

14 Respuestas a la entrada “Rel-aciona”

*_* ¡aaaaah…! ¡veo comillas por todos lados! Esto… Diego, creo que has experimentado demasido :-p porque veo “” por todos lados (parece que en los DIVs o SPANs) en Firefox, en IE no aparecen (¿?)

Ahora a leer la entrada :-)

Ops, te dejo una captura para que veas lo de las comillas. Por error te dejé el msg en el post de abajo. Disculpas. Bórralo. :)

Captura:
http://tinyurl.com/d8nny

:)

Menos mal que alguien más las veía, empezaba a preocuparme por llevar demasiadas horas de estudio *_*

:-P

Pues yo tambien uso XP y Firefox 1.0.4 i no veo comillas!

enhorabuena por el post Diego, …, por cierto en W.XP con Firefox 1.04 no veo esas comillas por ningún lado.

see you.

Había un suelto que ocasionaba todo ese desastre visual. Ya está arreglado.

Ya se ve bien. :))

Escrito por Elí
Junio 16th, 2005 at 9:25 pm

Hola, me parece muy didactico este post, en estos momentos estoy programando una página y me cae super encontrar todas estas sugerencias. Ayer hice el ejercicio del diario la nación (de hace mucho tiempo) y me pareció excepcional, cuanto más me adentro en el mundo XHTML y CSS más me doy cuenta de que se pueden hacer cosas bien sólo con estas herramientas y sin necesidad de utilizar aplicaciones como Flash.

Claro. Con este asunto de las rel logré solucionar lo de las target="_blank" para XHTML.
En Internet lo encontré, y ahora sólo debo cambiar el viejo target="_blank" por rel="external" y así el link se abrirá en una ventana nueva. Aparte que será más semánticamente correcto.
El artículo está debajo de la publicidad:
http://www.sitepoint.com/article/standards-compliant-world

Más alla de lo semántico que pueda resultar usar el atributo rel en A, creo que es aún mas conveniente usarlo en LINK. Al menos Opera 8 sólo les presta atención a los segundos (y asumo que Mozilla funciona igual). El único que realmente he visto que revise los A son Bloglines y los analizadores de XFN.
Por cierto, dado que no me quedó claro, aclaro que bookmark debería usarse para referir secciones dentro de la misma página y no a otras páginas.

No, bookmark serviría en tal caso, para marcar un enlace del mismo documento en su propia página. Un ejemplo claro de esto sería un “permanent link” del mismo.

Sí, la práctica utilizan con link y no en los enlaces. Pero los enlaces permiten perfectamente rel, rev lástima que la gente no los usa.

O yo no me expresé bien o me estás haciendo confundir.
“index.html#bookmark” sería bookmark. En la página de archivo de un mes especifico, te serviría para navegar a través de los muchas entradas.
Tener un enlace que diga “enlace permanente” apuntando a otra página que reproduce una entrada sería chapter (según tu preferencia).
bookmark no está pensado de la misma forma que uno se refiere a bookmarks (aka favoritos) en el navegador.

Realmente el XHTML puede arreglar el hecho que no se pueda usar tablas (o div’s) con 100% de altura con el DTD HTML 4.01 Transitional?

Escrito por Christian Meza Villafuerte (del Perú)
Junio 24th, 2005 at 2:39 pm

Excelente post amigo MINID. Sería bueno que siguieras publicando más de estos artículos, prácticamente en mi querido país a ningún desarrollador web le interesa los temas de semántica, estándares, accesibilidad y usabilidad. Es una pena no?