<?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>Ramon Victor &#187; crossbrowser</title>
	<atom:link href="http://www.ramonvictor.com/tag/crossbrowser/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ramonvictor.com</link>
	<description></description>
	<lastBuildDate>Fri, 09 Sep 2011 14:59:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Criando listas clicáveis e acessíveis com Jquery</title>
		<link>http://www.ramonvictor.com/listas-clicaveis-e-acessiveis-com-jquery/</link>
		<comments>http://www.ramonvictor.com/listas-clicaveis-e-acessiveis-com-jquery/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 17:45:42 +0000</pubDate>
		<dc:creator>ramonvictor</dc:creator>
				<category><![CDATA[Acessibilidade]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[crossbrowser]]></category>

		<guid isPermaLink="false">http://www.ramonvictor.com/?p=97</guid>
		<description><![CDATA[O site já esta pronto, aquela lista de conteúdos relacionados (geralmente localizada na coluna direita) está funcionando perfeitamente. Porém o Designer faz uma proposta de melhoria de usabilidade, solicitando que não apenas o link do título seja clicável, mas o &#8230; <a href="http://www.ramonvictor.com/listas-clicaveis-e-acessiveis-com-jquery/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>O site já esta pronto, aquela lista de conteúdos relacionados (geralmente localizada na coluna direita) está funcionando perfeitamente. Porém o Designer faz uma proposta de melhoria de usabilidade, solicitando que não apenas o link do título seja clicável, mas o item da lista por inteiro (tag &lt;li&gt;). Como resolvemos esse problema?<span id="more-97"></span></p>
<p><a href="http://www.ramonvictor.com/demo/lista_clacavel/">Demo</a> do resultado.</p>
<p>Para melhor entendimento, vejamos primeiramente o código XHTML abaixo:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;ul class=&quot;lista_script&quot;&gt;
 &lt;li&gt;&lt;h3&gt;&lt;a href=&quot;index.html&quot;&gt;Título da notícia relacionada&lt;/a&gt;&lt;/h3&gt;
   &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed feugiat mauris et leo congue in fermentum neque volutpat. Aenean dignissim leo eu erat suscipit id condimentum mi adipiscing&lt;/p&gt;
 &lt;/li&gt;
 &lt;li&gt;&lt;h3&gt;&lt;a href=&quot;index.html&quot;&gt;Título da notícia relacionada&lt;/a&gt;&lt;/h3&gt;
   &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed feugiat mauris et leo congue in fermentum neque volutpat. Aenean dignissim leo eu erat suscipit id condimentum mi adipiscing&lt;/p&gt;
 &lt;/li&gt;
 &lt;li&gt;&lt;h3&gt;&lt;a href=&quot;index.html&quot;&gt;Título da notícia relacionada&lt;/a&gt;&lt;/h3&gt;
   &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed feugiat mauris et leo congue in fermentum neque volutpat. Aenean dignissim leo eu erat suscipit id condimentum mi adipiscing&lt;/p&gt;
 &lt;/li&gt;
&lt;/ul&gt;</pre>
<p>Antes da prática de se trabalhar com DOM (javascript), esse problema era resolvido da seguinte forma, colocava-se a tag &lt;a&gt; como pai da &lt;li&gt;, o que não é semanticamente correto. Pois a tag &lt;a&gt; é do tipo <strong>inline</strong> e &lt;li&gt; do tipo<strong> block</strong>. Segundo as recomendações do <a href="http://www.w3.org/">W3C</a> os elementos do tipo<strong> inline</strong> devem está contidos dentro de elementos <strong>block</strong>, logo não é válido declarar <strong>block</strong> dentro de <strong>inline</strong>.</p>
<p>A solução encontrada foi resgatar, via jquery,  o atributo “href” da primeira tag &lt;a&gt; e adicionar o evento <strong>click</strong> na &lt;li&gt;. Para complementar o script criei um efeito hover na &lt;li&gt; que pode ser personalizado na classe “.hover” no CSS.</p>
<p>O resultado:</p>
<p><strong>CSS</strong></p>
<pre class="brush: css; title: ; notranslate">* { margin: 0; padding: 0}   ul { list-style: none} //reset
body { font-family: &quot;Trebuchet MS&quot;, Arial; font-size: 12px}
.lista_script li {
  border-bottom: 1px solid #e1e1e1;
  padding: 10px
}
.lista_script li h3 {
  margin-bottom: .7em;
  font-size:14px
}
.lista_script .hover { background-color: #ececec}
.lista_script li {cursor: pointer}</pre>
<p><strong>Javascript (jquery)</strong></p>
<p>Não esquecer de colocar dentro da tag &lt;head&gt;.</p>
<pre class="brush: jscript; title: ; notranslate">
$(document).ready(function() {
//função efeito hover
  $(&quot;.lista_script li&quot;).hover(function () {
      $(this).addClass(&quot;hover&quot;);
    },
    function () {
      $(this).removeClass(&quot;hover&quot;);
  });
//função click
  $(&quot;.lista_script li&quot;).click(function() {
     var destino = $(this).find(&quot;a:first&quot;).attr(&quot;href&quot;);
     //resgatando link da primeira tag &quot;a&quot; dentro da &quot;li&quot;
     window.location = destino;
  });
});
</pre>
<p><strong>Vantagens</strong></p>
<ul class="list_ul">
<li>Executa as funções do jquery via DOM, desta forma não é necessário adicionar novos atributos nos elementos do XHTML.</li>
<li>XHTML acessível, pois mesmo que o browser não tenha suporte a javascript o usuário poderá utilizar o link do título normalmente.</li>
<li>Funciona nos principais browsers: Internet Explorer 6+, FireFox, Chrome, Safari e Opera.</li>
</ul>
<p>Faça o <a href="http://www.ramonvictor.com/demo/lista_clacavel/lista_clacavel.zip">download do tutorial</a> e ajuste às suas necessidades.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ramonvictor.com/listas-clicaveis-e-acessiveis-com-jquery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

