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:
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
chapteralojamos varios documentos el documento que inicia esa cadena debe estar referenciado comorel="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 comoprev. Esto crea bidireccionalidad entre documentos encadenados de forma lineal. Si corriera un programa que analice cada enlace podría analizar cadarelstart,nextyprevy 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 elrelsectionespecificado. - 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
helpen estos casos:- 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.
- 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. - 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
titlese 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”
Escrito por Daniel
Junio 16th, 2005 at 3:42 pm
*_* ¡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
Escrito por corsaria
Junio 16th, 2005 at 6:06 pm
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
Escrito por Daniel
Junio 16th, 2005 at 6:23 pm
Menos mal que alguien más las veía, empezaba a preocuparme por llevar demasiadas horas de estudio *_*
Escrito por Guita
Junio 16th, 2005 at 6:29 pm
Pues yo tambien uso XP y Firefox 1.0.4 i no veo comillas!
Escrito por antonio
Junio 16th, 2005 at 6:43 pm
enhorabuena por el post Diego, …, por cierto en W.XP con Firefox 1.04 no veo esas comillas por ningún lado.
see you.
Escrito por mini-d
Junio 16th, 2005 at 6:49 pm
Había un suelto que ocasionaba todo ese desastre visual. Ya está arreglado.
Escrito por corsaria
Junio 16th, 2005 at 6:54 pm
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.
Escrito por Oscar Fernández
Junio 16th, 2005 at 10:15 pm
Claro. Con este asunto de las
rellogré solucionar lo de lastarget="_blank"para XHTML.En Internet lo encontré, y ahora sólo debo cambiar el viejo
target="_blank"porrel="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
Escrito por Federico
Junio 16th, 2005 at 10:23 pm
Más alla de lo semántico que pueda resultar usar el atributo
relenA, creo que es aún mas conveniente usarlo enLINK. 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 losAson Bloglines y los analizadores de XFN.Por cierto, dado que no me quedó claro, aclaro que
bookmarkdebería usarse para referir secciones dentro de la misma página y no a otras páginas.Escrito por mini-d
Junio 17th, 2005 at 4:29 am
No,
bookmarkservirí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
linky no en los enlaces. Pero los enlaces permiten perfectamenterel,revlástima que la gente no los usa.Escrito por Federico
Junio 17th, 2005 at 5:40 am
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).bookmarkno está pensado de la misma forma que uno se refiere a bookmarks (aka favoritos) en el navegador.Escrito por Law
Junio 17th, 2005 at 6:53 am
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?