<?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>Felipe de Albuquerque &#187; Felipe de Albuquerque</title>
	<atom:link href="http://www.felipealbuquerque.com/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.felipealbuquerque.com</link>
	<description>Front-End Engineer &#38; Designer / Web Designer / Web Developer</description>
	<lastBuildDate>Sun, 13 Mar 2011 16:01:33 +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>O C.E.S.A.R é o melhor Instituto de Ciência e Tecnologia do Brasil</title>
		<link>http://www.felipealbuquerque.com/2010/11/30/o-c-e-s-a-r-e-o-melhor-instituto-de-ciencia-e-tecnologia-do-brasil/</link>
		<comments>http://www.felipealbuquerque.com/2010/11/30/o-c-e-s-a-r-e-o-melhor-instituto-de-ciencia-e-tecnologia-do-brasil/#comments</comments>
		<pubDate>Tue, 30 Nov 2010 11:50:57 +0000</pubDate>
		<dc:creator>Felipe de Albuquerque</dc:creator>
				<category><![CDATA[Cotidiano]]></category>

		<guid isPermaLink="false">http://www.felipealbuquerque.com/?p=680</guid>
		<description><![CDATA[Hoje bem cedo, recebi uma informação interna e oficial que me deixou muito feliz! Agora é oficial: o C.E.S.A.R é o melhor Instituto de Ciência e Tecnologia do Brasil. A instituição foi a grande vencedora do Prêmio Finep de Inovação Tecnológica, edição 2010, na categoria Instituição de Ciência e Tecnologia. A final da premiação aconteceu]]></description>
			<content:encoded><![CDATA[<p>Hoje bem cedo, recebi uma informação interna e oficial que me deixou muito feliz! <img src='http://www.felipealbuquerque.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Agora é oficial: o C.E.S.A.R é o melhor Instituto de Ciência e  Tecnologia do Brasil. A instituição foi a grande vencedora do Prêmio  Finep de Inovação Tecnológica, edição 2010, na categoria Instituição de  Ciência e Tecnologia. A final da premiação aconteceu nesta  segunda-feira(29.11.2010) na CNI (Confederação Nacional da Indústria),  em Brasília, contando com as presenças do ministro da Ciência e  Tecnologia, Sergio Rezende, e do presidente da FINEP, Luis Fernandes.  Esta é a segunda vez que o C.E.S.A.R conquista o prêmio, em 2004 o  C.E.S.A.R tinha ganho prêmio na categoria mais inovadora instituição de  pesquisa do Brasil.</p>
<p>&#8220;Este prêmio é um reconhecimento de que  estamos no caminho certo, sempre buscando projetos desafiadores que  levam inovação para a sociedade. É a materialização de um empreendimento  inovador e de sucesso, mais uma vez reconhecido nacionalmente.  Dedicamos esta conquista aos mais de 400 profissionais que formam o  C.E.S.A.R e, em especial, àqueles que idealizaram este projeto há quase  15 anos”, comemora o superintendente do C.E.S.A.R Sergio Cavalcante.</p>
<div class="wp-caption aligncenter" style="width: 522px"><img title="Luis Antonio Elias, secretário executivo do MCT, entrega troféu a Silvio Meira e Sergio Cavalvante, cientista chefe e superintendente do C.E.S.A.R, vencedor na categoria ICT." src="http://lh3.ggpht.com/_x5sdyoqUMmU/TPQKdhZkd_I/AAAAAAAADLw/EJeb3bHAA0o/s512/IMG_2656.JPG" alt="Luis Antonio Elias, secretário executivo do MCT, entrega troféu a Silvio Meira e Sergio Cavalvante, cientista chefe e superintendente do C.E.S.A.R, vencedor na categoria ICT." width="512" height="459" /><p class="wp-caption-text">Luis Antonio Elias, secretário executivo do MCT, entrega troféu a Silvio Meira e Sergio Cavalvante, cientista chefe e superintendente do C.E.S.A.R, vencedor na categoria ICT.</p></div>
<p><a title="Veja as fotos da premiação da FINEP" href="http://picasaweb.google.com/FINEPcomunica/PremioFINEPDeInovacao2010EtapaNacionalFotosRicardoLemosMCT#" target="_blank">Veja as fotos da entrega do Prêmio registradas pela Finep: </a></p>
<p>O C.E.S.A.R ganhou o direito de disputar a etapa nacional por ter conquistado o prêmio como a melhor Instituição da Região Nordeste na semana passada. Na mesma categoria em que o C.E.S.A.R concorreu, também disputaram IMAmt-Instituto matogrossense do Algodão (MT), Norte-Instituto CERTI Amazônia (AM), Departamento de Inovação Tecnológica da Universidade Federal de Santa Catarina (SC), Fundação Centro Tecnológico de Minas Gerais (MG).</p>
<p>Os cinco vencedores nacionais receberam troféus e também serão contemplados com recursos do programa de Subvenção Econômica, que variam de R$ 120 mil a R$ 2 milhões, dependendo da categoria premiada. No caso do C.E.S.A.R, o prêmio total será de R$ 1 milhão para aplicar em projetos de subvenção.</p>
<p>Parabéns a todos por mais essa conquista! para frente e avante!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.felipealbuquerque.com/2010/11/30/o-c-e-s-a-r-e-o-melhor-instituto-de-ciencia-e-tecnologia-do-brasil/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Efeito de Zebrar Tabelas com jQuery</title>
		<link>http://www.felipealbuquerque.com/2010/11/17/efeito-de-zebrar-tabelas-com-jquery/</link>
		<comments>http://www.felipealbuquerque.com/2010/11/17/efeito-de-zebrar-tabelas-com-jquery/#comments</comments>
		<pubDate>Wed, 17 Nov 2010 13:00:13 +0000</pubDate>
		<dc:creator>Felipe de Albuquerque</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[javaScript]]></category>

		<guid isPermaLink="false">http://www.felipealbuquerque.com/?p=606</guid>
		<description><![CDATA[Zebrar tabelas é um recurso amplamente utilizado para facilitar a leitura em documentos, além de dar um charme no projeto. Para pintar alternadamente as linhas de uma tabela com Javascript na sintaxe nativa, teríamos que fazer um algoritmo para identificar se o elemento é par ou ímpar, e assim ir dando formatação as linhas. O]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.felipealbuquerque.com/wp-content/uploads/2010/03/MenuComjQuery.jpg"><img class="aligncenter size-full wp-image-478" title="Menu Com jQuery" src="http://www.felipealbuquerque.com/wp-content/uploads/2010/03/MenuComjQuery.jpg" alt="" width="640" height="159" /></a></p>
<p>Zebrar tabelas é um recurso amplamente utilizado para facilitar a leitura em documentos, além de dar um charme no projeto.</p>
<p>Para pintar alternadamente as linhas de uma tabela com Javascript na sintaxe nativa, teríamos que fazer um algoritmo para identificar se o elemento é par ou ímpar, e assim ir dando formatação as linhas.</p>
<p>O jQuery possui uma gama enorme de seletores próprios, que praticamente nos possibilita o controle total da interface. Vamos usar um desses seletores para identificar quais elementos &lt;tr&gt; da interface são pares, e atribuir cor a esses elementos.</p>
<p>Para este exercício, vamos criar uma estrutura HTML com uma tabela e uma classe CSS que vamos adicionar as linhas pares, e por fim o código JavaScript que será escrito com a sintaxe da biblioteca jQuery.</p>
<p><strong>CSS</strong></p>
<p>Caso você queira deixar as coisas mais bonitas e elegantes, acrescente mais regras aqui no CSS.</p>
<pre><code>
.par{background:#eee}
</code></pre>
<p><strong>HTML</strong></p>
<p>Uma estrutura de tabela bem simples e sem semântica, caso você vá aplicar isso ao seu projeto, veja a possibilidade de escrever a tabela o mais semântico possível, utilizando as tags thead, tbody etc&#8230;</p>
<pre><code>
&lt;table&gt;
    &lt;tr&gt;
        &lt;td&gt;elemento 1 da primeira linha&lt;/td&gt;
        &lt;td&gt;elemento 2 da primeira linha&lt;/td&gt;
        &lt;td&gt;elemento 3 da primeira linha&lt;/td&gt;
        &lt;td&gt;elemento 4 da primeira linha&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
    &lt;td&gt;elemento 1 da segunda linha&lt;/td&gt;
        &lt;td&gt;elemento 2 da segunda linha&lt;/td&gt;
        &lt;td&gt;elemento 3 da segunda linha&lt;/td&gt;
        &lt;td&gt;elemento 4 da segunda linha&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt;elemento 1 da terceira linha&lt;/td&gt;
        &lt;td&gt;elemento 2 da terceira linha&lt;/td&gt;
        &lt;td&gt;elemento 3 da terceira linha&lt;/td&gt;
        &lt;td&gt;elemento 4 da terceira linha&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt;elemento 1 da quarta linha&lt;/td&gt;
        &lt;td&gt;elemento 2 da quarta linha&lt;/td&gt;
        &lt;td&gt;elemento 3 da quarta linha&lt;/td&gt;
        &lt;td&gt;elemento 4 da quarta linha&lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&gt;
</code></pre>
<p><strong>jQuery</strong></p>
<p>Agora vamos dar ação com o código javaScript&#8230;</p>
<pre><code>
$(document).ready(function(){

    $('table tr:even').addClass('par');

});
</code></pre>
<p>Na linha 4 utilizamos o seletor &#8220;even&#8221; que é responsável por identificar quais são os elementos pares que ficam na estrutura do DOM, e adicionamos a classe &#8220;par&#8221;. Essa técnica funciona em todos os browsers que tem suporte ao jQuery.</p>
<p>Caso você queira modificar os elementos impar, utilize no lugar do even o &#8220;odd&#8221;. Esses seletores servem não somente para elementos table, mas funcionam bem em listas, divs, parágrafos e vários outros elementos.</p>
<p>Como podemos ver, com a sintaxe do jQuery não passamos de uma linha para fazer esse efeito tão gracioso que é amplamente utilizado em projetos.</p>
<p>Não deixe de conhecer a <a href="http://api.jquery.com/category/selectors/ " target="_blank">documentação oficial do jQuery para seletores</a>, tem a descrição destes e de vários outros seletores que deixam a nossa vida mais simples!</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 932px; width: 1px; height: 1px; overflow: hidden;">even</div>
]]></content:encoded>
			<wfw:commentRss>http://www.felipealbuquerque.com/2010/11/17/efeito-de-zebrar-tabelas-com-jquery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>jQuery menu drop down com apenas 6 linhas</title>
		<link>http://www.felipealbuquerque.com/2010/10/01/jquery-menu-drop-down-com-apenas-6-linhas/</link>
		<comments>http://www.felipealbuquerque.com/2010/10/01/jquery-menu-drop-down-com-apenas-6-linhas/#comments</comments>
		<pubDate>Fri, 01 Oct 2010 14:28:58 +0000</pubDate>
		<dc:creator>Felipe de Albuquerque</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[javaScript]]></category>
		<category><![CDATA[Menu dropDown]]></category>

		<guid isPermaLink="false">http://www.felipealbuquerque.com/?p=554</guid>
		<description><![CDATA[Hoje tentaremos fazer jus ao slogan da biblioteca jQuery “Write less, do more” e faremos um menu drop down, com apenas 6 linhas de código JavaScript. Algumas explicações prévias: Ha algum tempo atrás, publiquei um post sobre como fazer um menu com jQuery, utilizando um método de evento do mouse (hover). Usaremos o mesmo método,]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.felipealbuquerque.com/wp-content/uploads/2010/03/MenuComjQuery.jpg"><img class="aligncenter size-full wp-image-478" title="Menu Com jQuery" src="http://www.felipealbuquerque.com/wp-content/uploads/2010/03/MenuComjQuery.jpg" alt="" width="640" height="159" /></a><br />
Hoje tentaremos fazer jus ao slogan da biblioteca jQuery “Write less, do more” e faremos um menu drop down, com apenas 6 linhas de código JavaScript.</p>
<p><strong>Algumas explicações prévias:</strong></p>
<p>Ha algum tempo atrás, publiquei um post sobre como fazer um menu com jQuery, utilizando um método de evento do mouse (hover). Usaremos o mesmo método, mas de uma forma um pouco diferente. Por padrão o metodo .over(), espera duas funções como argumentos, uma para quando o mouse estiver em cima (over) e outra quando o mouse sair do ponto (out).  Neste menu utilizaremos o encadeamento de métodos do jQuery e solucionaremos com apenas uma função, utilizando o sliderToggle().</p>
<p><strong>HTML</strong></p>
<p>A estrutura HTML é bem simples. É uma &lt;ul&gt; com seus nós filhos &lt;li&gt;´s. Filiaremos os sub-menus, que também são estrutura de &lt;ul&gt; e &lt;li&gt;,  para fazer o nosso menu com sub-nível. O interessante é aprender o conceito, depois disto você poderá fazer a estrutura de várias formas e manipular DOM através do jQuery.</p>
<pre><code>&lt;ul&gt;
    &lt;li&gt;&lt;a href='#'&gt;Item um&lt;/a&gt;
        &lt;ul&gt;
            &lt;li&gt;&lt;a href='#'&gt;Sub-Item um / um&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href='#'&gt;Sub-Item um / dois&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href='#'&gt;Sub-Item um / três&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href='#'&gt;Sub-Item um / quatro&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href='#'&gt;Item dois&lt;/a&gt;
        &lt;ul&gt;
            &lt;li&gt;&lt;a href='#'&gt;Sub-Item dois / um&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href='#'&gt;Sub-Item dois / dois&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href='#'&gt;Sub-Item dois / três&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href='#'&gt;Sub-Item dois / quatro&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href='#'&gt;Item três&lt;/a&gt;
        &lt;ul&gt;
            &lt;li&gt;&lt;a href='#'&gt;Sub-Item três / um&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href='#'&gt;Sub-Item três / dois&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href='#'&gt;Sub-Item três / três&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href='#'&gt;Sub-Item três / quatro&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
   &lt;li&gt;&lt;a href='#'&gt;Item quatro&lt;/a&gt;
       &lt;ul&gt;
           &lt;li&gt;&lt;a href='#'&gt;Sub-Item quatro / um&lt;/a&gt;&lt;/li&gt;
           &lt;li&gt;&lt;a href='#'&gt;Sub-Item quatro / dois&lt;/a&gt;&lt;/li&gt;
           &lt;li&gt;&lt;a href='#'&gt;Sub-Item quatro / três&lt;/a&gt;&lt;/li&gt;
           &lt;li&gt;&lt;a href='#'&gt;Sub-Item quatro / quatro&lt;/a&gt;&lt;/li&gt;
       &lt;/ul&gt;
   &lt;/li&gt;
&lt;/ul&gt;</code></pre>
<p>O comportamento visual desta estrutura pode e deve ser feito com CSS, para deixar o menu mais atrativo. Não vou abordar css, pois não é o sentido deste post. O comportamento visual fica por sua conta e imaginação!</p>
<p><strong>jQuery</strong></p>
<p>A solução em 6 linhas:</p>
<pre><code>$(document).ready(function(){// quando o DOM estiver pronto execute
    $('li ul').hide();// Esconda os menus filhos de &lt;li&gt;
    $('li').hover(function(){// quando passar o mouse em cima da &lt;li&gt;
        $(this).find('ul:first').stop(true, true).slideToggle();// procure nesta li a primeira ul, se um evento estiver disparado ele para(.stop()) e alterne o slider.
    });
});</code></pre>
<p>A solução é bem simples. Eu digo com as palavras do jQuery que quando o documento tiver pronto &#8220;DOM todo lido e carregado pelo browser&#8221; (.ready), execute as tarefas abaixo. Primeiro esconda as ul´s filas de li,  e espere o evento do mouse (.hover), se alguém passar ponteiro do mouse em cima de alguma li, dispara a ação &#8220;o evento&#8221; para procurar nesta li que o mouse passou em cima, a primeira ul e, alterne o comportamento dela entre slide down e up, tornando o sub menu visível e não visível.</p>
<p>O (.stop()) é para corrigir o comportamento do .hover() que coloca os eventos na fila, e fica mostrando e escondendo, caso o usuários passe o mouse diversas vezes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.felipealbuquerque.com/2010/10/01/jquery-menu-drop-down-com-apenas-6-linhas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>tudo que você precisa saber sobre robots.txt</title>
		<link>http://www.felipealbuquerque.com/2010/03/29/o-que-voce-precisa-saber-sobre-robots-txt/</link>
		<comments>http://www.felipealbuquerque.com/2010/03/29/o-que-voce-precisa-saber-sobre-robots-txt/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 16:39:26 +0000</pubDate>
		<dc:creator>Felipe de Albuquerque</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[crawlers]]></category>
		<category><![CDATA[googlebot]]></category>
		<category><![CDATA[Robots.txt]]></category>
		<category><![CDATA[Slurp]]></category>
		<category><![CDATA[spiders]]></category>

		<guid isPermaLink="false">http://www.felipealbuquerque.com/?p=501</guid>
		<description><![CDATA[O arquivo robots.txt é como se fosse um cardápio que informa o que deverá ser consumido e o que não deverá ser.  É como se fosse um cartão de acesso para os mecanismos de busca, mas caso esse o (Robots.txt) não exista o seu site será vasculhado, isso significa que todas as pastas e arquivos]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-521" title="Robots txt" src="http://www.felipealbuquerque.com/wp-content/uploads/2010/03/robotstxt.jpg" alt="Robots txt" width="640" height="159" /></p>
<p>O arquivo robots.txt é como se fosse um cardápio que informa o que deverá ser consumido e o que não deverá ser.  É como se fosse um cartão de acesso para os mecanismos de busca, mas caso esse o (Robots.txt) não exista o seu site será vasculhado, isso significa que todas as pastas e arquivos serão analisados e provavelmente indexados pelos agentes de busca. Por default os robots (googlebot, por exemplo) são programados para vasculhar e indexar tudo que encontre.</p>
<p>Você pode estar se perguntando?&#8230; Mas, eu quero que o Google e os demais mecanismos de busca encontrem o meu site.  Qual seria o motivo de me preocupar com o robots.txt já que ele verifica o meu site sem este artifício?</p>
<p>É verdade, você não precisaria se preocupar com isso. Mas se o seu web software tiver pastas privadas com documentos de sigilo&#8230; já imaginou se o seu cliente encontrar esse conteúdo em uma pesquisa no google por exemplo&#8230; Ou até mesmo se o projeto estiver em fase de desenvolvimento e a URL de teste vazar, e de alguma forma os Robots encontram e indexam todo projeto, e os concorrentes do seu cliente passarem a ter acesso, e ai?</p>
<p><strong>Mas o que vocal está tentando me dizer?</strong><br />
O Google e outros mecanismos de buscas tém algoritmos sofisticados que varem os códigos do site e eles guardam estas informações para quando for digitada alguma palavra chave no campo de busca, o mesmo cruza o texto digitado com as informações que ele tem guardado e monta a página com os possíveis sites que você possivelmente está procurando.</p>
<p><strong>E esse robots.txt, como ele se comunica com os tais robots?</strong><br />
Assim que GoogleBots visita o seu site ele procura o arquivo robots.txt, que deverá ser salvo no root de seu site e nesse arquivo vamos dizer o que ele vai e o que ele não vai indexar.<br />
A sintaxe é assim:</p>
<pre><code>
<span>#comente assim</span>
User-agent: *
Disallow: /
</code></pre>
<p>Onde o User-agent são os robots, o “ * ” diz que é para todos os bots, e o Disallow são as pastas que ele não poderá indexar, neste caso o “/” está dizendo que nada poderá ser indexado, mas preste bem atenção porque se você não colocar o “/” ele indexará tudo pois o caractere “/” significa um diretório e se você omitir esse caractere o Robots irá compreender o contrário que você está querendo. Veja o próximo exemplo.</p>
<pre><code>
User-agent: *
Disallow:  <span>#Perceba que omitimos o / e com isso a propriedade Disallow ficará sem sentido e o bot indexará todo o seu site</span>
</code></pre>
<p>O exemplo também pode ser feito utilizando uma meta tag.</p>
<pre><code>
<span>// Assim estamos dizendo que nada poderá ser indexado</span>
     &lt;META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW"&gt;
</code></pre>
<p>Vamos a outro exemplo que tem na Wikipédia:</p>
<pre><code>
User-agent: Googlebot
<span>#As pastas que serão visitadas pelo Googlebot</span>
Allow: /post
Allow:  /portifolio
<span>#As pastas que não serão visitadas pelo Googlebot</span>
Disallow: /confidencial
Disallow: /protegido

</code></pre>
<p>Este exemplo especifica o bot (Googlebot) e informa as pastas que não serão indexadas. É importante ter em mente que as demais pastas do site serão indexadas normalmente.</p>
<p>Alguns robots:</p>
<ul>
<li>Google: <em> User-agent: Googlebot </em></li>
<li> Yahoo:<em> User-agent: Slurp</em></li>
<li>MSN: <em>User-agent: msnbot</em>.</li>
<li>Todos os mecanismos: <em>User-agent: *</em>.</li>
</ul>
<p><strong>Observações importantes</strong></p>
<p>O arquivo robots.txt é uma técnica importante de SEO (Search Engine Optimization), mas não é um arquivo de segurança para o seu projeto, ele apenas sinaliza para os mecanismos de busca o que deve e o que não deve ser acessado. Outro fator é que é um arquivo .txt e fica na raiz do site ele poderá ser acessado por qualquer pessoa e nele tem informações dos caminhos de sua aplicação e com isso um hacker mal intencionado poderá ter uma brecha para invadir sua aplicação. Antes de ir implementando essa técnica é importante conversar com os responsáveis pela segurança de redes do seu projeto ou dependendo da sua necessidade você poderá substituir o .txt pela meta tag nas páginas especificas.</p>
<p>Em suas buscas pelo assunto você também poderá ver outras nomenclaturas para as engine de busca que eu me refiro aqui como robots, você poderá achar algo como spiders, crawlers entre outros que se referem à mesma coisa que é um algoritmo de busca.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.felipealbuquerque.com/2010/03/29/o-que-voce-precisa-saber-sobre-robots-txt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Menu Drop Down com jQuery</title>
		<link>http://www.felipealbuquerque.com/2010/03/25/menu-drop-down-com-jquery/</link>
		<comments>http://www.felipealbuquerque.com/2010/03/25/menu-drop-down-com-jquery/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 18:48:48 +0000</pubDate>
		<dc:creator>Felipe de Albuquerque</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[javaScript]]></category>
		<category><![CDATA[Menu dropDown]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://www.felipealbuquerque.com/?p=448</guid>
		<description><![CDATA[Vou descrever um menu drop down feito com XHTML, CSS e jQuery que ficará assim. É muito simples e os arquivos estão aqui. Este menu irá utilizar um método de evento do mouse &#8220;hover&#8221; e não permite navegação através de teclado, por tantanto ele não é acessível, mas caso seu objetivo seja um menu inclusivo]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-478" title="Menu Com jQuery" src="http://www.felipealbuquerque.com/wp-content/uploads/2010/03/MenuComjQuery.jpg" alt="Menu Com jQuery" width="640" height="159" /><br />
Vou descrever um menu drop down feito com XHTML, CSS e jQuery que <a title="Ver o menu funcionando" href="../downloads/Menu-Drop-Down-com-jQuery-FelipeAlbuquerque" target="_blank">ficará assim.</a><br />
É muito simples e <a title="Baixar os arquivos do menu" href="../downloads/Menu-Drop-Down-com-jQuery-FelipeAlbuquerque.rar" target="_blank">os  arquivos estão aqui.</a></p>
<p>Este menu irá utilizar um método de evento do mouse &#8220;<a title="Ler a referência no  site oficial do jQuery" href="http://api.jquery.com/hover/" target="_blank">hover</a>&#8221; e não permite navegação através de teclado, por tantanto ele não é acessível, mas caso seu objetivo seja um menu inclusivo leia um outro post onde eu descrevo um <a title="Ler o post sobre menu acessível" href="http://www.felipealbuquerque.com/2009/10/19/menu-drop-down-acessivel/" target="_self">menu drop down acessível</a>.</p>
<p>Primeiro vou criar o documento de marcação para o menu, que no caso será o XHTML.</p>
<pre><code>
&lt;div id="menu"&gt;&lt;span&gt;&lt;/span&gt;
   &lt;ul&gt;
      &lt;li&gt;&lt;a href="#"&gt;Item 1&lt;/a&gt;
         &lt;ul&gt;
            &lt;li&gt;&lt;a href="#"&gt;sub 1&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="#"&gt;sub 2&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="#"&gt;sub 3&lt;/a&gt;&lt;/li&gt;
         &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;a href="#"&gt;Item 2&lt;/a&gt;
         &lt;ul&gt;
            &lt;li&gt;&lt;a href="#"&gt;sub 1&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="#"&gt;sub 2&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="#"&gt;sub 3&lt;/a&gt;&lt;/li&gt;
         &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;a href="#"&gt;Item 3&lt;/a&gt;
         &lt;ul&gt;
            &lt;li&gt;&lt;a href="#"&gt;sub 1&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="#"&gt;sub 2&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="#"&gt;sub 3&lt;/a&gt;&lt;/li&gt;
         &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;a href="#"&gt;Item 4&lt;/a&gt;
         &lt;ul&gt;
            &lt;li&gt;&lt;a href="#"&gt;sub 1&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="#"&gt;sub 2&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="#"&gt;sub 3&lt;/a&gt;&lt;/li&gt;
         &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;a href="#"&gt;Item 5&lt;/a&gt;
         &lt;ul&gt;
            &lt;li&gt;&lt;a href="#"&gt;sub 1&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="#"&gt;sub 2&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="#"&gt;sub 3&lt;/a&gt;&lt;/li&gt;
         &lt;/ul&gt;
      &lt;/li&gt;
   &lt;/ul&gt;
&lt;span class="right"&gt;&lt;/span&gt;&lt;/div&gt;
</code></pre>
<p>Agora que os nós do menu estão feitos,  formato ele utilizando CSS.</p>
<pre><code>*{margin:0;padding:0}<span>//um reset básico, pra gente poder controlar melhor a página</span>
<span>//Os códigos CSS a baixo podem variar bastante, depende da sua necessidade e criatividade</span>
#menu{background:url(../Images/bg-menu.jpg) repeat-x; height:37px; width:80%; margin:20px auto}
#menu span{height:37px; width:5px; background:url(../Images/bg-menu-esq.jpg) no-repeat; float:left;}
#menu span.right{background:url(../Images/bg-menu-dir.jpg) no-repeat; float:right;}
#menu ul{position:relative;z-index:2;}
#menu li{float:left; list-style:none; display:inline;}
#menu a{text-decoration:none;display:block; font-size:12px; font-family:Arial;color:#000; padding:10px;}
#menu a:hover{text-decoration:none}
#menu ul li ul{position:absolute;z-index:1;background:#f5f8fd url(../Images/bg-sub-menu.jpg) repeat-x !important;border:1px solid #cfd7ea;border-top:none;
	-moz-border-radius-bottomleft:5px;-moz-border-radius-bottomright:5px;
	-webkit-border-bottom-left-radius:5px;-webkit-border-bottom-right-radius:5px;}
#menu ul li ul li{float:none;display:block;padding:0 10px !important; border-top:1px solid #dbe2ec;}
#menu ul li ul li:hover{background:#e2ecf8;color:#26156E;}

</code></pre>
<p>Agora vamos ao que interessa, o jQuery</p>
<pre><code>
<span>/**
 * @author Felipe
 *Se for usar me avisa e comenta o post <img src='http://www.felipealbuquerque.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />
 */
</span>
$(document).ready(function(){

    $("ul li ul").hide();<span>//aqui eu escondo as ul´s que forem filhas de li.</span>
    $("ul li").hover(function(){<span>//O método hover recebe dois parametros que são duas funções.</span>
        $(this).find("ul:first").slideDown("slow"); <span>//aqui você faz o que quiser quando o mouse estiver em cima</span>

    }, function(){
        $(this).find("ul:first").slideUp("slow"); <span>//aqui é como se fosse o callback e você também faz o que quiser.</span></code></pre>
<p>O jQuery como você pode ver, é o arquivo mais simples e com poucas linhas de código.</p>
<p>Utilizamos o método hover que recebe dois parâmetros, que é referente a dois estados do mouse, o mouse hover e mouse down.  Em jQuery esse método pode receber duas funções como parâmetros, que é o que fizemos e após eu utilizo o <em>this</em> pra referenciar ao elemento que está sendo acionado e com o <a title="Ler a referência no site oficial do jQuery" href="http://api.jquery.com/find/" target="_blank"><em>find</em></a> peço pra ele procurar naquele elemento o elemento filho, no caso o primeiro ul que existir e por fim faço o <a title="Ler a referência no site oficial do jQuery" href="http://api.jquery.com/slideDown/" target="_blank">slideDown</a> e Up.<br />
Escolhi esconder o ul filho de li “o sub-menu” com o jQuery, por que se o javaScript estiver desabilitado ou por algum motivo não estiver funcionando, o usuário poderá ver o menu pois ele ficará aberto, se você optar em esconder o menu inicialmente com o CSS o seu menu poderá ficar inutilizável.</p>
<p>Essa foi uma demonstração de um menu simples e bem interessante, porém o jQuery tem plugns incríveis e se você quiser implementar um super menu, você poderá instalar algum plugin, como alguns que vou listar.</p>
<ul>
<li><a title="Ir ao site do plugin, superfish" href="http://users.tpg.com.au/j_birch/plugins/superfish/#examples" target="_blank">Superfish</a></li>
<li><a title="Ir ao site do plugin" href="http://www.filamentgroup.com/lab/jquery_ipod_style_drilldown_menu/" target="_blank">iPod-style Drilldown Menu</a></li>
<li><a title="Ir a página de plugins do jQuery" href="http://plugins.jquery.com/project/Plugins/category/44" target="_self">Plugins de menu no site do jQuery</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.felipealbuquerque.com/2010/03/25/menu-drop-down-com-jquery/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Introdução à Acessibilidade Web</title>
		<link>http://www.felipealbuquerque.com/2010/03/24/introducao-a-acessibilidade-web/</link>
		<comments>http://www.felipealbuquerque.com/2010/03/24/introducao-a-acessibilidade-web/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 13:05:20 +0000</pubDate>
		<dc:creator>Felipe de Albuquerque</dc:creator>
				<category><![CDATA[Acessibilidade]]></category>

		<guid isPermaLink="false">http://www.felipealbuquerque.com/?p=437</guid>
		<description><![CDATA[Acessibilidade à web permite que pessoas com as mais diversas necessidades especiais, possam interagir com web sites e web software de modo a que eles possam perceber, entender, navegar e interagir de maneira efetiva, bem como criar e contribuir com conteúdos da web. Para que a web acessível possa acontecer, é necessário o trabalho de]]></description>
			<content:encoded><![CDATA[<div id="attachment_441" class="wp-caption alignleft" style="width: 269px"><img class="size-full wp-image-441" title="sonho-de-liberdade" src="http://www.felipealbuquerque.com/wp-content/uploads/2010/03/sonho-de-liberdade.jpg" alt="sonho de liberdade" width="259" height="248" /><p class="wp-caption-text">Imagem do filme, Um Sonho de Liberdade</p></div>
<p>Acessibilidade à web permite que pessoas com as mais diversas necessidades especiais, possam interagir com web sites e web software de modo a que eles possam perceber, entender, navegar e interagir de maneira efetiva, bem como criar e contribuir com conteúdos da web.</p>
<p>Para que a web acessível possa acontecer, é necessário o trabalho de várias áreas de desenvolvimento e de interação. Um dos principais motivos para termos tantos sites não acessíveis é a utilização de ferramentas de geração de conteúdo que não usam os Standards de acessibilidade e também o desinteresse de alguns desenvolvedores.</p>
<p>A web exerce um papel crescentemente importante nas áreas de educação, comércio, negócios, governo e recreação. Um sistema web acessível e que permita a inclusão de pessoas com necessidades especiais na sociedade é fundamental para proporcionar oportunidades iguais para todos.</p>
<p>Referência: <a title="Ir a página de W3C, que fala sobre os padrões de acessibilidade o WAI" href="http://www.w3.org/WAI/intro/accessibility.php" target="_blank">W3C</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.felipealbuquerque.com/2010/03/24/introducao-a-acessibilidade-web/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Brincando com jQuery</title>
		<link>http://www.felipealbuquerque.com/2010/03/16/brincando-com-jquery/</link>
		<comments>http://www.felipealbuquerque.com/2010/03/16/brincando-com-jquery/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 20:39:06 +0000</pubDate>
		<dc:creator>Felipe de Albuquerque</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[javaScript]]></category>

		<guid isPermaLink="false">http://www.felipealbuquerque.com/?p=397</guid>
		<description><![CDATA[Quem nunca ouviu falar em jQuery?! É uma biblioteca de javaScript que foi feita para simplificar e otimizar a produção no desenvolvimento web, como o próprio slogan do jQuery diz “write less, do more ” faça mais escrevendo menos. Não se trata de uma nova tecnologia, é apenas javaScript assim como mootools e prototype, uma]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-427 aligncenter" title="BrincandoComjQuery" src="http://www.felipealbuquerque.com/wp-content/uploads/2010/03/BrincandoComjQuery.jpg" alt="Brincando com jQuery" /><br />
Quem nunca ouviu falar em jQuery?!<br />
É uma biblioteca de javaScript que foi feita para simplificar e otimizar a produção no desenvolvimento web, como o próprio slogan do jQuery diz “write less, do more ” faça mais escrevendo menos.</p>
<p>Não se trata de uma nova tecnologia, é apenas javaScript assim como mootools e prototype, uma das grandes vantagens em optar por jQuery é a documentação disponível no site oficial, que é bastante completa e os artigos encontrados em fóruns e blogs espalhados na web.</p>
<p>Neste post em especifico eu vou brincar um pouco com o jQuery pra gente sentir um pouco da biblioteca dos deuses.</p>
<p>O primeiro passo é <a title="Ir a página de downloads do jQuery" href="http://docs.jquery.com/Downloading_jQuery" target="_blank">baixar a biblioteca no site oficial</a>, depois chame a biblioteca entre a tag &lt;head&gt; da página que você irá usar as funções do jQuery.</p>
<p><strong>Deverá ficar algo assim:</strong></p>
<pre><code>
&lt;head&gt;

&lt;title&gt;Brincando com jQuery&lt;/title&gt;

&lt;script type="text/javascript" src="js/jquery.js"&gt;&lt;/script&gt;<span>//js = pasta onde ficará seus arquivos javaScript, isso é você que escolhe onde ficaram os arquivos e o jquery.js é a biblioteca</span>

&lt;/head&gt;</code></pre>
<p><strong>Agora vamos testar se a biblioteca está instalada corretamente: </strong></p>
<pre><code>
&lt;script type="text/javascript"&gt;

$(document).ready(
<span>//Aqui você faz o que quiser útilizando a sintax jQuery ou javaScript puro</span>
function(){
       alert("O jQuery está funcionando e a brincadeira já pode começar!!!");<span>//alert comum com a sintax javaScript</span>

});

&lt;/script&gt;

</code></pre>
<p>Este código espera a página ficar pronta “toda carregada” e após executa uma função que é apenas um alerta normal, com a sintaxe javaScript. Se ao carregar a página com este código e apresentar um alert é porque o jQuery está funcionando e a sua página já compreende a sintaxe jQuery e os métodos e funcionalidades podem ser usadas e isso significa que a brincadeira vai começar a ficar bom agora!</p>
<p>Mas se não funcionou é importante verificar se o caminho que você está chamando está correto ou se há alguma tag escrita incorreta ou sem fechamento, mas de qualquer maneira vou disponibilizar todo código citado aqui.</p>
<p><strong>Uma piada ao getElementById()</strong></p>
<p>O getElementById ficou famoso com a difusão da API DOM e é sem dúvidas um dos métodos mais usados, mas imagina digitar tudo isso umas vinte ou trinta vezes, e em casos extremos, que é necessário chamar esse método várias vezes, me dá tendinite só de pensar, mas com o jQuery isso é tão simples que se torna ridículo, uma verdadeira piada, foi uma das coisas que me chamou a atenção quando eu comecei com o jQuery, isso tudo se resume a “$();”,  $(“id desejado, e não só o id, mas os seletores e classes”), vamos aos exemplos para compreendermos melhor:</p>
<p>O método puro</p>
<pre><code>
<span>Com JavaScript utilizando a API DOM</span>
document.getElementById();
<span>Com a biblioteca dos Deuses</span>
$();
</code></pre>
<p>Manipulando CSS com jQuery</p>
<pre><code>

	$("#meuId").css("color", "red");

</code></pre>
<p>Os elementos de texto que estiverem dentro do id &#8220;meuId&#8221; ficaram com a cor vermelho.</p>
<p>Manipular CSS com a sintaxe de javaScript ficaria algo assim:</p>
<pre><code>
<span>Forma muito usada </span>
      var n = document.getElementById("meuId");
       n.style.color = "red";

<span>Forma otimizada</span>
       document.getElementById("meuId").style.color = "red";

</code></pre>
<p>Os três exemplos fazem a mesma coisa, deixa os elementos de texto do meuid na cor vermelha.</p>
<p><strong>Brincando de pic esconde</strong></p>
<p>Ocultar e mostrar elementos sempre foi algo útil, tanto pra criar sub-menus e tudo que a necessidade do seu cliente mandar.</p>
<p>Fazer isso com jQuery é muito fácil e tem algumas formas interessantes, vamos ver um delas:</p>
<pre><code>
$(document).ready(function(){

	$("#meuId").click(function(){
		$("p").toggle("slow");

	});

});

</code></pre>
<p>HTML</p>
<pre><code>

&lt;body&gt;

 &lt;span id="#meuId"&gt;Clique me!!!&lt;/span&gt; 

         &lt;p&gt;paragrafo 1&lt;/p&gt;

         &lt;p&gt;paragrafo 2&lt;/p&gt;

&lt;/body&gt;

</code></pre>
<p><strong>Ajax virou brincadeira de criança</strong></p>
<p>Para usar o Ajax normalmente é necessário usar uma receitinha de bolo para inicializar o objeto XMLHTTPRequest e ainda por cima fazer um IF se for o IE pra ativar o ActveX, pra funcionar em ambos ou browsers, mas com o jQuery virou outra maravilhosa piada:</p>
<p>Ajax com javaScript</p>
<pre><code>
var Ajax = false;// Ajax

	function AjaxRequest() {
		Ajax = false;
		if (window.XMLHttpRequest) {//Mozilla e safari
			Ajax = new XMLHttpRequest();
		} else if (window.ActiveXObject) {// IE
			try{
				Ajax = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try{
					Ajax = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {

				}
			}

		}
	}
</code></pre>
<p>Ajax com jQuery</p>
<pre style="text-align: center;"><code>
$("#idOndeVaiCarregar").load("pagina.php", callback);
</code></pre>
<p>Acredito que já deu pra brincar um pouco e espero que a leitura tenha sido proveitosa.</p>
<p>As melhores <a title="ler a documentação oficial" href="http://docs.jquery.com/Main_Page">referências de jQuery você poderá achar no site oficial</a>, vale a pena conferir e estudar</p>
]]></content:encoded>
			<wfw:commentRss>http://www.felipealbuquerque.com/2010/03/16/brincando-com-jquery/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Imagens e Imagens com Hiperlink Acessíveis</title>
		<link>http://www.felipealbuquerque.com/2009/10/30/imagens-e-imagens-com-hiperlink-acessiveis/</link>
		<comments>http://www.felipealbuquerque.com/2009/10/30/imagens-e-imagens-com-hiperlink-acessiveis/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 13:52:24 +0000</pubDate>
		<dc:creator>Felipe de Albuquerque</dc:creator>
				<category><![CDATA[Acessibilidade]]></category>
		<category><![CDATA[href acessível]]></category>
		<category><![CDATA[imagem acessivel]]></category>
		<category><![CDATA[imagem para leitores de tela]]></category>
		<category><![CDATA[img acessivel]]></category>
		<category><![CDATA[inclusão digital]]></category>

		<guid isPermaLink="false">http://www.felipealbuquerque.com/?p=299</guid>
		<description><![CDATA[Utilize texto alternativo Nas imagens, utilize o atributo alt=&#8221;&#8230;.&#8221; do elemento &#60;img /&#62; para dar uma descrição textual à imagem. &#60;img src="images/fuscaPreto.jpg" alt="Foto de um fusca preto" title="Foto de um fusca preto" /&#62; Enquanto a imagem está sendo carregada ou quando por algum motivo a imagem não é exibida, o texto alternativo alt=&#8221;Foto de um]]></description>
			<content:encoded><![CDATA[<h2><img class="aligncenter size-full wp-image-323" title="Imagem de uma lupa com vários nomes aleatórios" src="http://www.felipealbuquerque.com/wp-content/uploads/2009/10/linkAcessivel.jpg" alt="links Acessivel" width="640" height="270" /></h2>
<h2>Utilize texto alternativo</h2>
<p>Nas imagens, utilize o atributo alt=&#8221;&#8230;.&#8221; do elemento &lt;img /&gt; para dar uma descrição textual à imagem.</p>
<pre><code>
&lt;img src="images/fuscaPreto.jpg" <strong>alt="Foto de um fusca preto"</strong>  title="Foto de um fusca preto" /&gt;
</code></pre>
<p><img class="alignleft size-full wp-image-331" title="foto de um fusca preto" src="http://www.felipealbuquerque.com/wp-content/uploads/2009/10/fuscaPreto.jpg" alt="foto de um fusca preto" width="250" height="188" />Enquanto a imagem está sendo carregada ou quando por algum motivo a imagem não é exibida, o texto alternativo alt=&#8221;Foto de um fusca preto&#8221; é exibido.</p>
<p>O texto alternativo da imagem somente estará acessível a softwares de leitura de tela &#8220;Virtual Vision por exemplo&#8221; durante a leitura da página, pois uma imagem sem hiperlink não receberá foco através da navegação com a tecla TAB.</p>
<p>Ao mover o mouse por cima da imagem, o Virtual Vision irá ler o conteúdo do atributo alt=&#8221;Foto de um fusca preto&#8221;, mas lembre-se: o mouse é um dispositivo apontador, quase nunca utilizado.</p>
<h2>Descrição textual da imagem &#8220;d-link&#8221;</h2>
<p><img class="aligncenter size-full wp-image-334" title="criancas brincando na praia" src="http://www.felipealbuquerque.com/wp-content/uploads/2009/10/criancasNaPraia.jpg" alt="criancas brincando na praia" width="640" height="299" /></p>
<p>Para imagens mais complexas é aconselhável utilizar uma técnica chamada d-link, que consiste em criar uma pagina HTML para descrever a imagem em questão.</p>
<p>A técnica é colocar um link com a letra “D” ao lado da imagem, para quando a navegação por TAB encontrar o link e usuário poder chegar até a página com a descrição detalhada da imagem.</p>
<p>Para não mudar seu projeto visual, é possível esconder visualmente o link com a letra “D” e o desenvolvedor poderá utilizar várias maneiras para esconder visualmente este link, com CSS é uma boa uma alternativa.</p>
<pre><code><span>&lt;!-- É uma opação colocar a link direto na imagem --&gt;</span>
&lt;a href="descricaoimagemcriancanap.html"  title="ir a página da descrição textual da imagem, crianças brincando na praia"&gt;
     &lt;img src="images/criancasNaP.jpg" alt="Crianças brincando na praia" /&gt;
&lt;/a&gt;

<span>&lt;!--  A técnica D-link, este link é para ficar ao lado da imagem --&gt;</span>
&lt;a href="descricaoimagemcriancanap.html" title="ir a página da descrição textual da imagem, crianças brincando na praia"&gt;
     [d]
&lt;/a&gt; 

</code></pre>
<blockquote><p>Como a curiosidade é da natureza do homem e já que o deficiente visual não pode apreciar o conteúdo da imagem visualmente, seria interessante prover as imagens de um texto descritivo.<br />
Um recurso utilizado é colocar, após a imagem, um link com a letra &#8220;d&#8221;, conhecido como &#8220;d-link&#8221;, o qual fará referência a uma página html com a descrição textual da imagem. Como outros links, este receberá o foco após o usuário pressionar a tecla TAB na imagem.<br />
Para quem não deseja prejudicar o design da página, com uma letra &#8220;d&#8221; após as imagens, utilize o recurso de d-link invisível, ou seja, coloque uma pequena imagem transparente no lugar da letra &#8220;d&#8221;.</p></blockquote>
<p>Este post foi inspirado na cartilha de acessibilidade e pode ser encontrado no site <a title="Ir ao site externo Lupa Digital" href="http://www.lupadigital.info/" target="_blank">Lupa Digital</a>, e a citação acima são palavras do autor e pode ser lido em: <a href="http://www.lupadigital.info/7-imagens.html" target="_blank">Lupa digital</a> no item 7.2.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.felipealbuquerque.com/2009/10/30/imagens-e-imagens-com-hiperlink-acessiveis/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Link Acessível</title>
		<link>http://www.felipealbuquerque.com/2009/10/21/link-acessivel/</link>
		<comments>http://www.felipealbuquerque.com/2009/10/21/link-acessivel/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 19:52:52 +0000</pubDate>
		<dc:creator>Felipe de Albuquerque</dc:creator>
				<category><![CDATA[Acessibilidade]]></category>
		<category><![CDATA[href acessível]]></category>
		<category><![CDATA[inclusão digital]]></category>
		<category><![CDATA[link acessível]]></category>
		<category><![CDATA[Navegar com teclado]]></category>
		<category><![CDATA[projetos inclusivos]]></category>
		<category><![CDATA[site acessível]]></category>

		<guid isPermaLink="false">http://www.felipealbuquerque.com/?p=259</guid>
		<description><![CDATA[Para fazer com que os links fiquem acessíveis &#8220;href acessível&#8221; para leitores de telas e usuários que usam o teclado para navegar na internet. É bem simples e vou descrever algumas técnicas, tentando ser mais claro e objetivo possível. Adicionando o Atributo “title” O atributo “title” é muito importante, é ele que vai dar a]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-289" title="links Acessiveis" src="http://www.felipealbuquerque.com/wp-content/uploads/2009/10/linksacessiveis.jpg" alt="links Acessiveis" width="640" height="250" /></p>
<p>Para fazer com que os links fiquem acessíveis &#8220;href acessível&#8221; para leitores de telas e usuários que usam o  teclado para navegar na internet. É bem simples e vou descrever algumas técnicas, tentando ser mais claro e objetivo possível.</p>
<h2>Adicionando o Atributo “title”</h2>
<p>O atributo “title” é muito importante, é ele que vai dar a descrição do link e informar para onde ele vai levar o seu usuário.</p>
<pre><code>
&lt;a href="acessibilidade.html"<strong> title="Ir a página de acessibilidade"&gt;</strong>
     Acessibilidade
&lt;/a&gt;
</code></pre>
<blockquote><p>Facilite a vida dos seus usuários e escreva com um texto conciso, que faça sentido e que tenha relevância.</p></blockquote>
<h2>Adicione Teclas de Atalho</h2>
<p>É uma boa idéia usar teclas de atalho na navegação principal, com isso você vai facilitar a vida de muita gente que tem dificuldade motora e não usa o mouse para acessar o seu conteúdo.</p>
<pre><code>
&lt;a href="acessibilidade.html" <strong>accesskey="a"</strong>&gt;Acessibilidade&lt;/a&gt;
</code></pre>
<h2>Pular para o Conteúdo</h2>
<p>Permita que o usuário possa ir direto ao conteúdo desejado.</p>
<p>Utilize um link com o atributo accesskey no topo do documento, faça com que ele seja o primeiro link do seu site. Com isso você evitará que o usuário percorra o site todo até chegar ao conteúdo desejado.</p>
<p>Caso você não queira que esse link apareça no topo, você poderá ocultar com CSS.</p>
<pre><code>
&lt;div id="topo"&gt;
    &lt;h1&gt;titulo do site&lt;/h1&gt; <span>&lt;!-- "essa área é muito importante p/ SEO mas é assunto para outro post" --&gt;</span>
    &lt;a href="#conteudo" accesskey="p" title="ir ao conteúdo"&gt;Pular para o conteúdo&lt;/a&gt;
&lt;/div&gt;
&lt;div id="menu"&gt;
    <span>&lt;!-- os intens do menu --&gt;</span>
&lt;/div&gt;
&lt;div id="conteudo"&gt;
   <span> &lt;!-- aqui é onde o usuário chegará, o conteúdo desejado --&gt;</span>
&lt;/div&gt;
</code></pre>
<blockquote><p>não que você vá colocar teclas de atalho em todos os links do seu site, mas pense nisso com carinho!</p></blockquote>
<h2>Navegando Através de Tab</h2>
<p>Muitos usuários não podem ou não querem usar dispositivos como mouse para navegar em seu site.</p>
<p>Eles utilizam o teclado pra percorrer os links, geralmente usando a tecla “tab”.</p>
<p>Por este motivo seu código deve estar estruturado semanticamente, principalmente a estrutura de links, eles devem estar em uma ordem lógica de navegação, caso esteja, não é necessário usar o atributo “tabindex”.</p>
<p>Mas caso não esteja ou você queira conduzir seus usuários, use o atributo “tabindex” que permite definir a ordem de navegação dos links em seu sistema web.</p>
<pre><code>
&lt;ul&gt;
    &lt;li&gt;&lt;a href="#" <strong>tabindex="3"</strong>&gt;Link 1&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#" <strong>tabindex="1"</strong>&gt;Link 2&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#" <strong>tabindex="2"</strong>&gt;Link 3&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#" <strong>tabindex="4"</strong>&gt;Link 4&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</code></pre>
<blockquote><p>Conduza seus usuários, dê a eles o que eles realmente precisam e querem ler</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.felipealbuquerque.com/2009/10/21/link-acessivel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Menu Drop Down Acessível</title>
		<link>http://www.felipealbuquerque.com/2009/10/19/menu-drop-down-acessivel/</link>
		<comments>http://www.felipealbuquerque.com/2009/10/19/menu-drop-down-acessivel/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 19:20:24 +0000</pubDate>
		<dc:creator>Felipe de Albuquerque</dc:creator>
				<category><![CDATA[Acessibilidade]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[javaScript]]></category>
		<category><![CDATA[menu acessível]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://www.felipealbuquerque.com/?p=223</guid>
		<description><![CDATA[Soluções inclusivas, em minha opinião são vitais para profissionais não só da web. Entre tanto o que se vê por ai não é exatamente isso, mas se você está lendo este texto é porque você está há vários passos na frente de outros profissionais, e está com o pensamento certo e inclusivo. Esta solução de]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-240" title="Acessibilidadeda" src="http://www.felipealbuquerque.com/wp-content/uploads/2009/10/acessibilidadeda-menu.jpg" alt="Acessibilidadeda" width="640" height="238" /></p>
<p>Soluções inclusivas, em minha opinião são vitais para profissionais não só da web.</p>
<p>Entre tanto o que se vê por ai não é exatamente isso, mas se você está lendo este texto é porque você está há vários passos na frente de outros profissionais, e está com o pensamento certo e inclusivo.</p>
<p>Esta solução de menu acessível é muito fácil e funciona bem em vários navegadores como no IE6 + e em todos os browsers que dão suporte a web Standards. Funciona com teclado e mouse, e se o JavaScript estiver desabilitado dá pra acessar todos os links, mas os subitens não aparecem visualmente.</p>
<p>Veja <a title="Ver o exemplo funcionando" href="http://www.felipealbuquerque.com/menuAcessivel.html" target="_blank">o menu funcionando</a> e vamos aos detalhes:</p>
<h2>XHTML</h2>
<p>É o documento de marcação onde vamos criar os nós do menu.</p>
<p>Vamos criar uma lista não ordenada “ul” e seus respectivos filhos e adicionar id e classes para podermos manipular alguns elementos.</p>
<pre><code>
<span>&lt;!-- As tags como o DOCTYPE, head, body e demais não vou descrever aqui para o post ser mais objetivo --&gt;</span>
&lt;ul id="nav"&gt;
	&lt;li&gt;&lt;a href="index.html"&gt;Home&lt;/a&gt;&lt;/li&gt;
	&lt;li class="submenu"&gt;&lt;a href="#" class="bullet"&gt;Portfólio&lt;/a&gt;
		&lt;ul&gt;
			&lt;li&gt;&lt;a href="sites.html"&gt;Sites&lt;/a&gt;&lt;/li&gt;
			&lt;li class="submenu"&gt;&lt;a href="#" class="bullet"&gt;Interfaces&lt;/a&gt;
				&lt;ul&gt;
					&lt;li&gt;&lt;a href="graficas.html"&gt;Gráficas&lt;/a&gt;&lt;/li&gt;
					&lt;li&gt;&lt;a href="digitais.html"&gt;Digitais&lt;/a&gt;&lt;/li&gt;
				&lt;/ul&gt;
			&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;&lt;a href="quemsomos.html"&gt;Quem Somos&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="contato.html"&gt;Contato&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</code></pre>
<h2>CSS</h2>
<p>É o documento de apresentação, onde vamos posicionar e dar beleza ao nosso menu.</p>
<p>Aqui é onde você provavelmente ira mexer mais, para poder customizar seu menu acessível.</p>
<pre><code>
#nav, #nav ul {
	width: 70em;
	list-style: none;
	font: bold 12px Verdana, Arial, Helvetica, sans-serif;
	padding: 0;
	margin: 0;
 }
#nav li {
	float: left;
 }
#nav a {
	display: block;
	width: 10em;
	height: 2em;
	line-height: 2;
	text-align: center;
	text-decoration: none;
	background-color: #69c; /* IE precisa desta declaração */
	color: #fff;
	border: 1px solid #ccc;
	border-width: 0 1px 1px
 }
#nav a:hover {
	text-decoration: none;
	background: #c7daec;
	color:#69c;
 }
#nav a.bullet {
	background:#69c url(bullet.gif) no-repeat right;
 }
#nav a.bullet:hover {
	background: #c7daec url(bullet-over.gif) no-repeat right;
 }
#nav li ul {
	position: absolute;
	left: -1000em;
	width: 10em;
	margin: 0;
 }
#nav ul ul {
	margin: -2.1em 0 0 10.1em;
 }
#nav li:hover ul ul, #nav li.over ul ul {
	left: -1000em;
 }
#nav li:hover ul, #nav li li:hover ul, #nav li.over ul, #nav li li.over ul {
	left: auto;
}
</code></pre>
<h2>JavaScript</h2>
<p>O arquivo JavaScript é responsável pela ação.</p>
<p>É neste documento que vamos verificar os links e os subitens da lista e vamos fazer com que ele se encarregue em abrir os subitens.</p>
<pre><code>
&lt;script type="text/javascript"&gt;

var dropdown_intervalId;
var dropdown_ulId = (!dropdown_ulId) ? 'nav' : dropdown_ulId;
var dropdown_delay = (!dropdown_delay) ? 0 : dropdown_delay;

function dropdown_init()
{
 try
 {
  var as = document.getElementById(dropdown_ulId).getElementsByTagName('a');

  for (var a = 0; a &lt; as.length; a++)
  {
   as[a].onfocus = function() { dropdown_expand(this) }
   as[a].onmouseover = function() { dropdown_expand(this) }
   as[a].onblur = function() { dropdown_colapse(dropdown_delay) }
   as[a].onmouseout = function() { dropdown_colapse(dropdown_delay) }
  }

  dropdown_colapse(0);

 } catch(e){}

}

function dropdown_expand(caller)
{
 try
 {
  clearInterval(dropdown_intervalId);

  var uls = caller.parentNode.parentNode.getElementsByTagName('ul');

  for (var ul = 0; ul &lt; uls.length; ul++)
   uls[ul].style.left = "-1000em";

  caller.parentNode.getElementsByTagName('ul')[0].style.left = "auto";

 } catch(e){}

}

function dropdown_colapse(milliseconds)
{
 try
 {
  clearInterval(dropdown_intervalId);

  dropdown_intervalId = setInterval(function()
  {
   var uls = document.getElementById(dropdown_ulId).getElementsByTagName('ul');

   for (var ul = 0; ul &lt; uls.length; ul++)
    uls[ul].style.left = "-1000em";

   clearInterval(dropdown_intervalId);

  }, milliseconds, null);

 } catch(e){}

}

window.onload = dropdown_init;
&lt;/script&gt;

</code></pre>
<p>Esse menu foi tema de debate na lista <a title="Lista Acesso Digital" href="http://groups.google.com/group/acessodigital" target="_blank">Acesso Digital</a>, e esse post foi baseado na resposta do Gil Porta membro da lista, e o menu foi desenvolvido por <a href="http://www.alexandrejunqueira.com" target="_blank">Alexandre Junqueira</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.felipealbuquerque.com/2009/10/19/menu-drop-down-acessivel/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

