<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Libro de Apuntes &#187; javascript</title>
	<atom:link href="http://www.librodeapuntes.es/tag/javascript/feed" rel="self" type="application/rss+xml" />
	<link>http://www.librodeapuntes.es</link>
	<description>Accesibilidad Web, Posicionamiento, SMO, Marketing, Usabilidad, Internet, Libro de apuntes de Bruno Rico</description>
	<lastBuildDate>Wed, 08 Sep 2010 18:34:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Javascript para marcar los enlaces en ventana nueva</title>
		<link>http://www.librodeapuntes.es/2010/06/02/javascript-para-modificar-title-enlaces-ventana-nueva</link>
		<comments>http://www.librodeapuntes.es/2010/06/02/javascript-para-modificar-title-enlaces-ventana-nueva#comments</comments>
		<pubDate>Wed, 02 Jun 2010 00:13:12 +0000</pubDate>
		<dc:creator>Bruno Rico</dc:creator>
				<category><![CDATA[Accesibilidad]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.librodeapuntes.es/?p=1030</guid>
		<description><![CDATA[Código javascript que busca los enlaces con atributos target="_blank" y si no tienen title, indica que el enlace se abrirá en ventana nueva. Si además el enlace es a otro dominio, también lo incluye en el title.]]></description>
			<content:encoded><![CDATA[<div id="attachment_392" class="wp-caption alignleft" style="width: 160px"><a href="http://www.librodeapuntes.es/wp-content/uploads/2008/11/recaptcha-example.gif"><img class="size-thumbnail wp-image-392" title="recaptcha example" src="http://www.librodeapuntes.es/wp-content/uploads/2008/11/recaptcha-example-150x125.gif" alt="" width="150" height="125" /></a><p class="wp-caption-text">ejemplo recaptcha</p></div>
<p>Algunas veces cuando iniciamos un nuevo proyecto de accesibilidad, nos enfrentamos a sitios web que llevan mucho tiempo/contenido a sus espaldas.</p>
<p>Ello requiere una revisión <em>hacia atrás</em> o del histórico que en ocasiones no puede publicarse/automatizarse todo lo que quisiéramos y los plazos se alargan.</p>
<p>En estos casos y <strong>mientras se solucionan los problemas</strong>, se nos puede pasar por la cabeza realizar pequeños parches que ayuden a mejorar la accesibilidad del sitio mientras atacamos el problema de raíz.</p>
<p>Este es uno de esos casos y lo que vamos a comentar a continuación <strong>NO ES UNA SOLUCIÓN VÁLIDA</strong>, sino una prueba de concepto <img src='http://www.librodeapuntes.es/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><strong>Vamos a utilizar un pequeño código javascript para marcar aquellos enlaces que se abren en ventana nueva y cuyo título (atributo title) esté vacío.</strong></p>
<p>La solución correcta para marcar los enlaces en nueva ventan pasa por:</p>
<ul>
<li><strong>No abrir enlaces en nueva ventana</strong>. Suena extraño, pero si un usuario quiere abrir una ventana nueva, ya lo hará. Tenemos que tener en cuenta de que no sabemos qué dispositivo está utilizando el usuario y que a lo mejor le genera un proble el forzar que se abra una nueva ventana.</li>
<li>Incluir un <strong>texto a continuación</strong> indicándolo. Ejemplo: <em><a href="http://es.wikipedia.org" target="_blank">wikipedia</a></em> (enlace en ventana nueva)</li>
<li>Incluir una <strong>imagen dentro del texto ancha</strong> cuyo alt indique que el enlace abrirá en ventana nueva. Ejemplo del código <em>&lt;a target=&#8221;_blank&#8221; href=&#8221;http://es.wikipedia.org&#8221;&gt;wikipedia &lt;img src=&#8221;imagen.jpg&#8221; alt=&#8221;enlace en nueva ventana&#8221;/&gt;&lt;/a&gt;</em></li>
<li>Incluir en el <strong>atributo title del enlace</strong> un texto que explique que el enlace se abre en ventana nueva. Ejemplo: <em>&lt;a target=&#8221;_blank&#8221; href=&#8221;http://es.wikipedia.org&#8221; title=&#8221;enlace en ventana nueva&#8221;&gt;wikipedia &lt;/a&gt;</em></li>
</ul>
<p>Esta última solución puede hacer que algunos usuarios que utilicen lector de pantalla, no perciban el mensaje, ya que por defecto jaws no lee los title de los enlaces.</p>
<h2><strong>Qué hace el script:</strong></h2>
<p>Código javascript que busca los enlaces con atributos<em> target=&#8221;_blank&#8221;</em> y si no tienen <em>title</em>, indica que el enlace se abrirá en ventana nueva. Si además el enlace es a otro dominio, también lo incluye en el <em>title</em>.</p>
<h2><strong>Instrucciones de uso:</strong></h2>
<ul>
<li>Copiar el código</li>
<li>Incluirlo justo antes de la etiqueta &lt;/body&gt;. De esa manera no impediremos que cargen el resto de scripts (como los de estadísticas, por ejemplo)</li>
</ul>
<pre>&lt;!-- inicio js que muestra target nueva ventana --&gt;
&lt;p&gt;Ejemplo: &lt;a target="_blank" href="http://es.wikipedia.org/"&gt;.&lt;/a&gt;&lt;/p&gt;
&lt;script type="text/javascript"&gt;
  function externalLinks(){
   if (!document.getElementsByTagName){return};
   var activedomain=document.domain;
   var anchors = document.getElementsByTagName("a");
   for (var i=anchors.length-1; i&gt;=0; i--)     {
     var anchor = anchors[i];
     var url=anchor.href;
     if(anchor.target=="_blank"){
       if(!anchor.title){anchor.title = " enlace en nueva ventana ";}
       var num=url.search(activedomain);
       if (num&lt;0){ anchor.title = anchor.title+"a sitio externo ";}
       }
     }
 }
externalLinks();&lt;/script&gt;
&lt;noscript&gt;Javascript no disponible,
no se marcar&amp;aacute;n autom&amp;aacute;ticamente los enlaces
que se abren en ventana nueva
&lt;/noscript&gt;

<div id="attachment_392" class="wp-caption aligncenter" style="width: 160px"><a href="http://www.librodeapuntes.es/wp-content/uploads/2008/11/recaptcha-example.gif"><img class="size-thumbnail wp-image-392" title="recaptcha example" src="http://www.librodeapuntes.es/wp-content/uploads/2008/11/recaptcha-example-150x125.gif" alt="" width="150" height="125" /></a><p class="wp-caption-text">ejemplo recaptcha</p></div>

&lt;!-- final js que muestra target nueva ventana --&gt;</pre>
<h2>Conclusión</h2>
<p>Aunque no todos los usuarios se beneficiarán de esta solución, sí puede valernos como una mejora temporal de la accesibilidad.</p>
<p>Además, el script puede ser fácilmente modificado para otras tareas, como por ejemplo incluir la etiqueta alt a las imágenes que no la lleven o darnos ideas para crear los scripts de servidor que ataquen directamente las bases de datos&#8230;</p>
<div class="float-right"><form id="vozme_form_a5d62a70be80e28f3c83654e825199c0" method="post" name="vozme_form_a5d62a70be80e28f3c83654e825199c0" target="a5d62a70be80e28f3c83654e825199c0" action="http://vozme.com/text2voice.php"><input name="text" type="hidden" value="Javascript para marcar los enlaces en ventana nueva. [/caption]
Algunas veces cuando iniciamos un nuevo proyecto de accesibilidad, nos enfrentamos a sitios web que llevan mucho tiempo/contenido a sus espaldas.
Ello requiere una revisión hacia atrás o del histórico que en ocasiones no puede publicarse/automatizarse todo lo que quisiéramos y los plazos se alargan.
En estos casos y mientras se solucionan los problemas, se nos puede pasar por la cabeza realizar pequeños parches que ayuden a mejorar la accesibilidad del sitio mientras atacamos el problema de raíz.
Este es uno de esos casos y lo que vamos a comentar a continuación NO ES UNA SOLUCIÓN VÁLIDA, sino una prueba de concepto  
Vamos a utilizar un pequeño código javascript para marcar aquellos enlaces que se abren en ventana nueva y cuyo título (atributo title) esté vacío.
La solución correcta para marcar los enlaces en nueva ventan pasa por:

No abrir enlaces en nueva ventana. Suena extraño, pero si un usuario quiere abrir una ventana nueva, ya lo hará. Tenemos que tener en cuenta de que no sabemos qué dispositivo está utilizando el usuario y que a lo mejor le genera un proble el forzar que se abra una nueva ventana.
Incluir un texto a continuación indicándolo. Ejemplo: wikipedia (enlace en ventana nueva)
Incluir una imagen dentro del texto ancha cuyo alt indique que el enlace abrirá en ventana nueva. Ejemplo del código &lt;a target=&#8221;_blank&#8221; href=&#8221;http://es.wikipedia.org&#8221;&gt;wikipedia &lt;img src=&#8221;imagen.jpg&#8221; alt=&#8221;enlace en nueva ventana&#8221;/&gt;&lt;/a&gt;
Incluir en el atributo title del enlace un texto que explique que el enlace se abre en ventana nueva. Ejemplo: &lt;a target=&#8221;_blank&#8221; href=&#8221;http://es.wikipedia.org&#8221; title=&#8221;enlace en ventana nueva&#8221;&gt;wikipedia &lt;/a&gt;

Esta última solución puede hacer que algunos usuarios que utilicen lector de pantalla, no perciban el mensaje, ya que por defecto jaws no lee los title de los enlaces.
Qué hace el script:
Código javascript que busca los enlaces con atributos target=&#8221;_blank&#8221; y si no tienen title, indica que el enlace se abrirá en ventana nueva. Si además el enlace es a otro dominio, también lo incluye en el title.
Instrucciones de uso:

Copiar el código
Incluirlo justo antes de la etiqueta &lt;/body&gt;. De esa manera no impediremos que cargen el resto de scripts (como los de estadísticas, por ejemplo)

&lt;!-- inicio js que muestra target nueva ventana --&gt;
&lt;p&gt;Ejemplo: &lt;a target=&quot;_blank&quot; href=&quot;http://es.wikipedia.org/&quot;&gt;.&lt;/a&gt;&lt;/p&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
  function externalLinks(){
   if (!document.getElementsByTagName){return};
   var activedomain=document.domain;
   var anchors = document.getElementsByTagName(&quot;a&quot;);
   for (var i=anchors.length-1; i&gt;=0; i--)     {
     var anchor = anchors[i];
     var url=anchor.href;
     if(anchor.target==&quot;_blank&quot;){
       if(!anchor.title){anchor.title = &quot; enlace en nueva ventana &quot;;}
       var num=url.search(activedomain);
       if (num&lt;0){ anchor.title = anchor.title+&quot;a sitio externo &quot;;}
       }
     }
 }
externalLinks();&lt;/script&gt;
&lt;noscript&gt;Javascript no disponible,
no se marcar&amp;aacute;n autom&amp;aacute;ticamente los enlaces
que se abren en ventana nueva
&lt;/noscript&gt;

[caption id=&quot;attachment_392&quot; align=&quot;aligncenter&quot; width=&quot;150&quot; caption=&quot;ejemplo recaptcha&quot;]

&lt;!-- final js que muestra target nueva ventana --&gt;
Conclusión
Aunque no todos los usuarios se beneficiarán de esta solución, sí puede valernos como una mejora temporal de la accesibilidad.
Además, el script puede ser fácilmente modificado para otras tareas, como por ejemplo incluir la etiqueta alt a las imágenes que no la lleven o darnos ideas para crear los scripts de servidor que ataquen directamente las bases de datos&#8230;
" /><input name="lang" type="hidden" value="en" /><input name="gn" type="hidden" value="ml" /><input type="hidden" id="interface" name="interface" value="full" />
			<div style="margin-left:40%;">
			
				<input style="float:left;" type="image"  src="http://www.librodeapuntes.es/wp-content/plugins/vozme/img/megaphone40x40w.gif" alt="Hear this post" onclick="window.open('', 'a5d62a70be80e28f3c83654e825199c0', 'width=600,height=370,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=yes,toolbar=yes');" />
				<div style="text-align:left;"><a href="javascript:void(0);" onclick="window.open('', 'a5d62a70be80e28f3c83654e825199c0', 'width=600,height=370,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=yes,toolbar=yes'); document.getElementById('vozme_form_a5d62a70be80e28f3c83654e825199c0').submit();">Hear<br/>this post</a></div>
			</div></form></div>]]></content:encoded>
			<wfw:commentRss>http://www.librodeapuntes.es/2010/06/02/javascript-para-modificar-title-enlaces-ventana-nueva/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hacer pruebas de edición en páginas web desde firefox</title>
		<link>http://www.librodeapuntes.es/2009/09/24/hacer-pruebas-de-edicion-en-paginas-web-desde-firefox</link>
		<comments>http://www.librodeapuntes.es/2009/09/24/hacer-pruebas-de-edicion-en-paginas-web-desde-firefox#comments</comments>
		<pubDate>Thu, 24 Sep 2009 08:53:28 +0000</pubDate>
		<dc:creator>Bruno Rico</dc:creator>
				<category><![CDATA[Diseño Web]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.librodeapuntes.es/?p=794</guid>
		<description><![CDATA[Hace tiempo había leído este truco en microsiervos, y la verdad es que resulta bastante útil para no tener que estar guardando la página en htl y editando luego. Copio y Pego: javascript:document.body.contentEditable='true'; document.designMode='on'; void 0 Más información: Cómo modificar cualquier página web con Firefox Hearthis post]]></description>
			<content:encoded><![CDATA[<p>
Hace tiempo había leído este truco en microsiervos, y la verdad es que resulta bastante útil para no tener que estar guardando la página en htl y editando luego.<br />
Copio y Pego:</p>
<p><code>javascript:document.body.contentEditable='true'; document.designMode='on'; void 0</code></p>
<p>Más información: <a href="http://i.microsiervos.com/ordenadores/modificar-pagina-web-con-firefox.html" title="enlace a sitio externo">Cómo modificar cualquier página web con Firefox</a></p>
<div class="float-right"><form id="vozme_form_fb8c00215df6be2df025a38e81e04b72" method="post" name="vozme_form_fb8c00215df6be2df025a38e81e04b72" target="fb8c00215df6be2df025a38e81e04b72" action="http://vozme.com/text2voice.php"><input name="text" type="hidden" value="Hacer pruebas de edición en páginas web desde firefox.. 
Hace tiempo había leído este truco en microsiervos, y la verdad es que resulta bastante útil para no tener que estar guardando la página en htl y editando luego.
Copio y Pego:
javascript:document.body.contentEditable=&quot;true&quot;; document.designMode=&quot;on&quot;; void 0
Más información: Cómo modificar cualquier página web con Firefox
" /><input name="lang" type="hidden" value="en" /><input name="gn" type="hidden" value="ml" /><input type="hidden" id="interface" name="interface" value="full" />
			<div style="margin-left:40%;">
			
				<input style="float:left;" type="image"  src="http://www.librodeapuntes.es/wp-content/plugins/vozme/img/megaphone40x40w.gif" alt="Hear this post" onclick="window.open('', 'fb8c00215df6be2df025a38e81e04b72', 'width=600,height=370,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=yes,toolbar=yes');" />
				<div style="text-align:left;"><a href="javascript:void(0);" onclick="window.open('', 'fb8c00215df6be2df025a38e81e04b72', 'width=600,height=370,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=yes,toolbar=yes'); document.getElementById('vozme_form_fb8c00215df6be2df025a38e81e04b72').submit();">Hear<br/>this post</a></div>
			</div></form></div>]]></content:encoded>
			<wfw:commentRss>http://www.librodeapuntes.es/2009/09/24/hacer-pruebas-de-edicion-en-paginas-web-desde-firefox/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
