<?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>Gustavo Ribeiro</title>
	<atom:link href="http://gustavoribeiro.com/feed" rel="self" type="application/rss+xml" />
	<link>http://gustavoribeiro.com</link>
	<description>Tableless, Acessibilidade e SEO</description>
	<lastBuildDate>Tue, 02 Mar 2010 12:47:27 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>CSS hacks para diferentes browsers</title>
		<link>http://gustavoribeiro.com/artigos/css-hacks-para-diferentes-browsers</link>
		<comments>http://gustavoribeiro.com/artigos/css-hacks-para-diferentes-browsers#comments</comments>
		<pubDate>Tue, 02 Mar 2010 12:45:29 +0000</pubDate>
		<dc:creator>Gustavo Ribeiro</dc:creator>
				<category><![CDATA[artigos]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[hacks]]></category>

		<guid isPermaLink="false">http://gustavoribeiro.com/?p=165</guid>
		<description><![CDATA[Não sou adepto e não gosto de utilizar hacks em meus CSS&#8217; mas infelizmente, e por motivos de força maior, as vezes somos forçados a utilizar dessas artemanhas para que nosso site esteja em conformidade em todos os browsers testados e é por isso que resolvi colocar em um post algumas alternativas conhecidas por mim [...]]]></description>
			<content:encoded><![CDATA[<p>Não sou adepto e não gosto de utilizar hacks em meus CSS&#8217; mas infelizmente, e por motivos de força maior, as vezes somos forçados a utilizar dessas artemanhas para que nosso site esteja em conformidade em todos os browsers testados e é por isso que resolvi colocar em um post algumas alternativas conhecidas por mim para nos ajudar no dia-a-dia.</p>
<pre><code>/***** Selector Hacks ******/

/* IE 6 and below */
* html #uno  { color: red }

/* IE 7 and below */
*:first-child+html #dos { color: red }

/* IE 7 and modern browsers */
html&gt;body #tres { color: red }

/* Modern browsers (not IE 7) */
html&gt;/**/body #cuatro { color: red }

/* Opera 9.27 and below */
html:first-child #cinco { color: red }

/* Safari */
html[xmlns*=""] body:last-child #seis { color: red }

/*safari 3+, chrome 1+, opera9+, ff 3.5+ */
body:nth-of-type(1) #siete { color: red }

/* safari 3+, chrome 1+, opera9+, ff 3.5+ */
body:first-of-type #ocho { color: red }

/* saf3, chrome1+ */
@media screen and (-webkit-min-device-pixel-ratio:0) {
    #diez  { background: #FFDECE; border: 2px solid #ff0000 }
}

/***** Attribute Hacks ******/

/* ie6 and below */
#once { _color:blue }

/* ie7 and below */
#doce { *color: blue } /* or #color:blue */
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://gustavoribeiro.com/artigos/css-hacks-para-diferentes-browsers/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Utilizando listas ordenadas, desordenadas e de definição em xHTML</title>
		<link>http://gustavoribeiro.com/artigos/utilizando-listas-ordenadas-desordenadas-e-de-definicao-em-xhtml</link>
		<comments>http://gustavoribeiro.com/artigos/utilizando-listas-ordenadas-desordenadas-e-de-definicao-em-xhtml#comments</comments>
		<pubDate>Wed, 10 Feb 2010 12:00:26 +0000</pubDate>
		<dc:creator>Gustavo Ribeiro</dc:creator>
				<category><![CDATA[artigos]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://gustavoribeiro.com/?p=86</guid>
		<description><![CDATA[Estarei começando hoje uma série de, podemos dizer tutoriais, explicações sobre o uso de cada tag xHTML e CSS. Cada tópico terá uma nomeclatura bastante direta sobre o assunto abordado, então vamos ao que interessa realmente.
Para iniciar a sequencia dos tutoriais, resolvi falar sobre listas de ordenação e explicar um pouco mais sobre o uso [...]]]></description>
			<content:encoded><![CDATA[<p>Estarei começando hoje uma série de, podemos dizer tutoriais, explicações sobre o uso de cada tag xHTML e CSS. Cada tópico terá uma nomeclatura bastante direta sobre o assunto abordado, então vamos ao que interessa realmente.</p>
<p>Para iniciar a sequencia dos tutoriais, resolvi falar sobre listas de ordenação e explicar um pouco mais sobre o uso e cada uma e o porque isso é importante na hora de se desenvolver um site dentro dos padrões w3c.</p>
<p><strong>Listas desordenadas: &lt;ul&gt;</strong></p>
<p>As listas desordenadas são, comumente, as mais utilizadas por todos nós desenvolvedores quando resolvemos criar menus. E porque utilizamos as &lt;ul&gt; na criação de menus? Simples! Porque, semânticamente, os menus são itens correspondentes a uma lista sem ordenação não se encaixando em qualquer outra tag, semânticamente, a não ser a &lt;ul&gt;.</p>
<p><img class="size-medium wp-image-190 alignnone" title="ul" src="http://blog.gustavoribeiro.net/wp-content/uploads/2008/12/ul.jpg" alt="" width="180" height="100" /></p>
<p><strong>Listas ordenadas: &lt;ol&gt;</strong></p>
<p style="text-align: left;">Idêntica as &lt;ul&gt;, porém nela temos a obrigação de ordernarmos os itens, seja eles por ordem alfabética, numérica, crescente ou decrescente. Devemos utilizá-las quando queremos criar, por exemplo, um passo-a-passo, uma receita ou até mesmo uma lista de categorias do seu blog.<br />
<img class="size-medium wp-image-189 alignnone" title="ol" src="http://blog.gustavoribeiro.net/wp-content/uploads/2008/12/ol.jpg" alt="" width="180" height="100" /></p>
<p><strong>Listas de definição: &lt;dl&gt;</strong></p>
<p>As listas de definição são as menos utilizadas e pouco entendidas por muitos. Uma maneira bastante fácil e simples para o entendimento da &lt;dl&gt; é pensarmos em um glossário. Todo glossário possui termos e, cada termos, suas descrições. Para os termos utilizamos &lt;dt&gt; e para as descrições &lt;dd&gt;. Uma coisa muito importante na &lt;dl&gt; é que: nunca termos, em hipótese alguma, um termo repetido com descrições diferentes. Cada termo tem sua descrição única, caso contrário o mesmo não poderá ser um &lt;dl&gt;,  e sim uma &lt;ul&gt; ou uma &lt;ol&gt;.</p>
<p><img class="size-medium wp-image-191 alignnone" title="dl" src="http://blog.gustavoribeiro.net/wp-content/uploads/2008/12/dl.jpg" alt="" width="180" height="100" /></p>
<p>Em tempo, basta sabermos o nome de cada tag para qu possamos entender o seu uso. Consegui ser claro na explicação?</p>
]]></content:encoded>
			<wfw:commentRss>http://gustavoribeiro.com/artigos/utilizando-listas-ordenadas-desordenadas-e-de-definicao-em-xhtml/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como tornar um componente Asp.Net Gridview acessível?</title>
		<link>http://gustavoribeiro.com/artigos/como-tornar-um-componente-asp-net-gridview-acessivel</link>
		<comments>http://gustavoribeiro.com/artigos/como-tornar-um-componente-asp-net-gridview-acessivel#comments</comments>
		<pubDate>Wed, 03 Feb 2010 12:00:52 +0000</pubDate>
		<dc:creator>Gustavo Ribeiro</dc:creator>
				<category><![CDATA[artigos]]></category>
		<category><![CDATA[acessibilidade]]></category>
		<category><![CDATA[aspnet]]></category>

		<guid isPermaLink="false">http://gustavoribeiro.com/?p=79</guid>
		<description><![CDATA[Quem utiliza &#8211; ou já utilizou &#8211; o Visual Studio para desenvolvimento de sites .Net já deve ter passado pelo o que irei escrever neste tópico.
A alguns meses, venho tentando descobrir &#8211; mesmo eu não sendo desenvolvedor e por intermédio de sites, blogs e afins &#8211; como fazer com que os componentes do Asp.Net renderizem [...]]]></description>
			<content:encoded><![CDATA[<p>Quem utiliza &#8211; ou já utilizou &#8211; o Visual Studio para desenvolvimento de sites .Net já deve ter passado pelo o que irei escrever neste tópico.</p>
<p>A alguns meses, venho tentando descobrir &#8211; mesmo eu não sendo desenvolvedor e por intermédio de sites, blogs e afins &#8211; como fazer com que os componentes do Asp.Net renderizem de forma correta e acessível. Atualmente, meu maior problema se encontra em um componente chamado GridView. O GridView é um novo controle do Asp.Net 2.0 e uma melhoria do antigo DataGrid.</p>
<p>Um dos maiores problemas no DataGrid era a falta de comprometimento com a acessibilidade e isso foi corrigido com o GridView, juntamente com diversas outras falhas, porém, para que a GridView se comporte de forma acessível temos que definir algumas propriedades para o componente e adicionar elementos extras em seu code-behind.</p>
<p>Primeiro, temos que definir a propriedade <em>UseAcessibleHeader = &#8220;true&#8221;</em> em nossa GridView. Isso irá fazer com que, na hora da renderização, as tags <em>&lt;td&gt;</em> sejam substituídas pela tag <em>&lt;th&gt;</em> quando a mesma for um cabeçalho.</p>
<p>Por algum motivo que não sei qual, não existe nenhuma propriedade na GridView para que seja fixado as tags <em>&lt;thead&gt;</em>, <em>&lt;tfoot&gt;</em> e <em>&lt;tbody&gt;</em> no componente &#8211; tags as quais são de grande importância para a acessibilidade de um site, como podemos ver no tópico <a title="Tutorial xHTML - Tabelas Acessíveis" href="http://gustavoribeiro.com/artigos/criando-tabelas-acessiveis-em-xhtml">Criando Tabelas Acessíveis em xHTML</a> -, porém, existe uma maneira simples de adicionar-mos estes elementos em C# e VB.NET.</p>
<p>Primeiro, iremos adicionar o componente GridView em nossa página:</p>
<pre><code>&lt;asp:GridView runat="server" ID="GridView1" /&gt;</code></pre>
<p>Após a inserção do componente GridView em nossa página, iremos adicionar o código abaixo, em um novo método, no code-behind:</p>
<pre><code>private void MakeAcessible(GridView grid) {
    if (grid.Rows.Count &gt; 0) {
        grid.UseAcessibleHeader = true;
        grid.HeaderRow.TableSection = TableRowSection.TableHeader;      // adiciona as tags &lt;thead&gt; e &lt;tbody&gt;
        grid.FooterRow.TableSection = TableRowSection.TableFooter;      // adiciona a tag &lt;tfoot&gt;. remova caso a grid não possua footer
    }
}</code></pre>
<p>Agora, a chamada para o método acima no evento <em>Page_Load</em>:</p>
<pre><code>protected void Page_Load(object sender, EventArgs e) {
    MakeAcessible(GridView1);
}</code></pre>
<p>Infelizmente, por meu servidor ser php, não tenho como adicionar uma aplicação Asp.Net de exemplo para que possam verificar o código, mas funciona. Podem testar.</p>
<p style="font-size: .90em;">fonte: <a href="http://blog.madskristensen.dk/post/Make-the-GridView-control-accessible.aspx">http://blog.madskristensen.dk/post/Make-the-GridView-control-accessible.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gustavoribeiro.com/artigos/como-tornar-um-componente-asp-net-gridview-acessivel/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Criando formulário xHTML acessível</title>
		<link>http://gustavoribeiro.com/artigos/criando-formulario-xhtml-acessivel</link>
		<comments>http://gustavoribeiro.com/artigos/criando-formulario-xhtml-acessivel#comments</comments>
		<pubDate>Wed, 27 Jan 2010 12:00:50 +0000</pubDate>
		<dc:creator>Gustavo Ribeiro</dc:creator>
				<category><![CDATA[artigos]]></category>
		<category><![CDATA[acessibilidade]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://gustavoribeiro.com/?p=88</guid>
		<description><![CDATA[Falar sobre formulários acessíveis se tornou meio difícil por ser um assunto que cada um poderá interpretar de uma maneira diferente. Alguns dizem que o correto é criarmos o formulário utilizando listas desordenadas (ul), outros já falam que o correto seria utilizarmos parágrafos (p). Utilizar &#60;p&#62; ou &#60;ul&#62;? Escolha um e seja feliz.  
Para [...]]]></description>
			<content:encoded><![CDATA[<p>Falar sobre formulários acessíveis se tornou meio difícil por ser um assunto que cada um poderá interpretar de uma maneira diferente. Alguns dizem que o correto é criarmos o formulário utilizando listas desordenadas (ul), outros já falam que o correto seria utilizarmos parágrafos (p). Utilizar &lt;p&gt; ou &lt;ul&gt;? Escolha um e seja feliz. <img src='http://gustavoribeiro.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Para que um formulário seja realmente acessível, precisamos estar cientes da existência de algumas tags básicas e para que elas servem. Vamos a elas:</p>
<ul>
<li><strong>form:</strong> cria uma área para a entrada de dados podendo conter campos de texto, checkboxes, radio-buttons etc.</li>
<li><strong>fieldset:</strong> utilizado para agrupar elementos no formulário. ex: dados pessoais, dados profissionais etc.</li>
<li><strong>legend:</strong> define um nome para cada fieldset criado</li>
<li><strong>label:</strong> define um &#8220;label&#8221; para um determinado controle.</li>
<li><strong>input, checkbox e radiobutton:</strong> elementos de um form.</li>
</ul>
<p>Conhecida as principais tags, vamos a criação do formulário. Primeiro criaremos a área válida do form:</p>
<pre><code>&lt;form action="/"&gt;
    aqui iremos montar nosso form
&lt;/form&gt;</code></pre>
<p>Dentro da área criada pela tag &lt;form&gt;, iremos dividir as informações em <em>Dados Pessoais</em> e <em>Dados Profissionais</em> utilizando as tags &lt;fieldset&gt; e &lt;legend&gt; para então adicionarmos os campos a serems preenchidos:</p>
<pre><code>&lt;fieldset&gt;
    &lt;legend&gt;Dados Pessoais&lt;/legend&gt;
    &lt;p&gt;&lt;label for="txtNome"&gt;Nome &lt;input type="text" id="txtNome" value="" /&gt;&lt;/label&gt;&lt;/p&gt;
    &lt;p&gt;&lt;label for="txtEmail"&gt;Email &lt;input type="text" id="txtEmail" value="" /&gt;&lt;/label&gt;&lt;/p&gt;
&lt;/fieldset&gt;
&lt;fieldset&gt;
    &lt;legend&gt;Dados Profissionais&lt;/legend&gt;
    &lt;p&gt;&lt;label for="txtEmpresa"&gt;Empresa &lt;input type="text" id="txtEmpresa" value="" /&gt;&lt;/label&gt;&lt;/p&gt;
    &lt;p&gt;&lt;label for="txtCargo"&gt;Cargo &lt;input type="text" id="txtCargo" value="" /&gt;&lt;/label&gt;&lt;/p&gt;
&lt;/fieldset&gt;</code></pre>
<p>Para finalizar, um botão para o enviao dessas informações:</p>
<pre><code>&lt;p&gt;&lt;input type="submit" value="Enviar" /&gt;&lt;/p&gt;</code></pre>
<p>O resultado final vocês podem ver na imagem abaixo.</p>
<p style="text-align: center;"><img class="size-medium wp-image-154 aligncenter" title="form_acessivel" src="http://blog.gustavoribeiro.net/wp-content/uploads/2008/10/form_acessivel.jpg" alt="" width="380" height="324" /></p>
]]></content:encoded>
			<wfw:commentRss>http://gustavoribeiro.com/artigos/criando-formulario-xhtml-acessivel/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Criando tabelas acessíveis em xHTML</title>
		<link>http://gustavoribeiro.com/artigos/criando-tabelas-acessiveis-em-xhtml</link>
		<comments>http://gustavoribeiro.com/artigos/criando-tabelas-acessiveis-em-xhtml#comments</comments>
		<pubDate>Wed, 20 Jan 2010 12:00:24 +0000</pubDate>
		<dc:creator>Gustavo Ribeiro</dc:creator>
				<category><![CDATA[artigos]]></category>
		<category><![CDATA[acessibilidade]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://gustavoribeiro.com/?p=81</guid>
		<description><![CDATA[Nosso assunto de hoje, dando sequencia ao tutorial xhtml, será sobre tabelas. Vamos falar um pouco sobre tabelas e como tornar nossa tabela acessível.
Muita gente tem horror a tabelas quando o assunto é &#8216;tableless&#8217;, dizem que tabela não deve mais ser utilizadas etc, mas poucos sabem que tabelas devem sim ser utilizadas, porém, com o [...]]]></description>
			<content:encoded><![CDATA[<p>Nosso assunto de hoje, dando sequencia ao tutorial xhtml, será sobre tabelas. Vamos falar um pouco sobre tabelas e como tornar nossa tabela acessível.</p>
<p>Muita gente tem horror a tabelas quando o assunto é &#8216;tableless&#8217;, dizem que tabela não deve mais ser utilizadas etc, mas poucos sabem que tabelas devem sim ser utilizadas, porém, com o seu real objetivo que é de mostrar, apenas, dados tabulares e não para criação de layouts.</p>
<p>Para se montar uma tabela em html &#8211; xhtml, devemos conhecer suas tags e para que cada uma delas servem.</p>
<p><strong>Conheça as tags:</strong></p>
<ul>
<li><strong>&lt;table&gt;</strong> &#8211; delimitador de uma tabela. é com ele que iremos indicar aonde começa e termina nossa tabela. é dentro dela que iremos adicionar título, cabeçalho, rodapé, células e linhas;</li>
<li><strong>&lt;caption&gt;</strong> &#8211; inserida imediatamente após a &lt;table&gt;, define um título para a tabela correspondente;</li>
<li><strong>&lt;thead&gt;</strong> &#8211; agrupa linhas de uma tabela definindo o cabeçalho. inserida sempre após a tag &lt;caption&gt;;</li>
<li><strong>&lt;tfoot&gt;</strong> &#8211; agrupa linhas de uma tabela definindo o rodapé. inserida sempre após a tag &lt;thead&gt;;</li>
<li><strong>&lt;tbody&gt;</strong> &#8211; também agrupa linhas de uma tabela, porém, define seu conteúdo. inserida sempre após a tag &lt;tfoot&gt;;</li>
<li><strong>&lt;tr&gt;</strong> &#8211; cria uma linha na tabela;</li>
<li><strong>&lt;td&gt;</strong> &#8211; cria uma coluna na tabela;</li>
<li><strong>&lt;th&gt;</strong> &#8211; define uma coluna de cabeçalho na tabela.</li>
</ul>
<p>Vejamos como fica nossa tabela implementada com as tags acima:</p>
<pre><code>&lt;table&gt;
    &lt;caption&gt;Criando Tabelas Acessíveis&lt;/caption&gt;
    &lt;thead&gt;
        &lt;tr&gt;
            &lt;th&gt;Nome&lt;/th&gt;
            &lt;th&gt;Site&lt;/th&gt;
        &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tfoot&gt;
        &lt;tr&gt;
            &lt;td&gt;Nome&lt;/td&gt;
            &lt;td&gt;Site&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tfoot&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;Fulano 01&lt;/td&gt;
            &lt;td&gt;Site do Fulano 01&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Fulano 02&lt;/td&gt;
            &lt;td&gt;Site do Fulano 02&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Fulano 03&lt;/td&gt;
            &lt;td&gt;Site do Fulano 03&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;</code></pre>
<p><a href="http://blog.gustavoribeiro.net/_exemplos/tabela-acessivel.htm" target="_blank">Veja o exemplo da tabela acima</a>.</p>
<p>Dessa forma, teremos uma tabela acessível a todos, principalmente quando for utilizado um leitor de tela &#8211; jaws por exemplo &#8211; e sem sermos confundidos de que coluna vem o dado lido.</p>
<p>Não esqueça de deixar o seu comentário dizendo o que achou desse tutorial. <img src='http://gustavoribeiro.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://gustavoribeiro.com/artigos/criando-tabelas-acessiveis-em-xhtml/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Âncoras xHTML, saiba como utilizá-las</title>
		<link>http://gustavoribeiro.com/artigos/ancoras-xhtml-saiba-como-utiliza-las</link>
		<comments>http://gustavoribeiro.com/artigos/ancoras-xhtml-saiba-como-utiliza-las#comments</comments>
		<pubDate>Wed, 13 Jan 2010 17:06:26 +0000</pubDate>
		<dc:creator>Gustavo Ribeiro</dc:creator>
				<category><![CDATA[artigos]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://gustavoribeiro.com/?p=77</guid>
		<description><![CDATA[Quando penso em sites acessíveis, além de procurar cumprir todas as premissas definidas pela WCGA 1.0 e WCGA 2.0, penso também na facilidade de navegação dos usuários nesses sites. Dentro dessas facilidades destaco as âncoras, que nos possibilidade saltar de um conteúdo para o outro na tela com apenas um click, e as accesskeys que [...]]]></description>
			<content:encoded><![CDATA[<p>Quando penso em sites acessíveis, além de procurar cumprir todas as premissas definidas pela WCGA 1.0 e WCGA 2.0, penso também na facilidade de navegação dos usuários nesses <span lang="en-us">sites</span>. Dentro dessas facilidades destaco as âncoras, que nos possibilidade saltar de um conteúdo para o outro na tela com apenas um <span lang="en-us">click</span>, e as <span lang="en-us">accesskeys</span> que nos fornece atalhos também para uma navegação rápida em toda a página. Hoje iremos falar sobre as âncoras.</p>
<h3>Âncoras. O que são?</h3>
<p>Âncoras são pontos-chave dentro de um <span lang="en-us">site</span>/texto. Quem nunca abriu um documento no <span lang="en-us">word</span> e, logo nas primeiras páginas, deu de cara com um índice onde, quando clicado no item te lançava direto para o texto relacionado? Isso é um texto âncora.</p>
<p><strong>Como utilizar as âncoras?</strong></p>
<p>Para criarmos âncoras em nossos <span lang="en-us">sites</span>, devemos conhecer sua sintaxe.</p>
<pre><code>&lt;a name="principal"&gt;&lt;/a&gt;</code></pre>
<p>Como visto, utilizamos a tag de <span lang="en-us">hyperlink</span> do xhtml com a propriedade <span lang="en-us">name</span> onde <span lang="en-us">name</span> é o nome da ancora. No exemplo proposto, nossa âncora se chama principal.</p>
<p>Criado o destino da âncora, criaremos a chamada. Também é utilizada a <span lang="en-us">tag</span> de <span lang="en-us">hyperlink</span> para a chamada da âncora, vejamos.</p>
<pre><code>&lt;a href="#principal"&gt;pular para conteúdo principal&lt;/a&gt;</code></pre>
<p>Nota-se que o atributo href recebe o nome da âncora com o prefixo # que identifica que nossa âncora esta na página atual.</p>
<p>As âncoras também podem ser utilizadas para páginas de destino diferentes da atual, vejamos o exemplo abaixo.</p>
<pre><code>&lt;a href="http://gustavoribeiro.com/#principal"&gt;conteúdo principal de gustavoribeiro.com&lt;/a&gt;</code></pre>
<h3>Recomendação</h3>
<p>É muito importante criamos uma âncora em nossos <span lang="en-us">sites</span> que salte direto para o conteúdo principal, como pode ser visto no canto superior direito do meu blog. Dessa forma, estamos ajudando os deficientes visuais a chegarem mais rápido no conteúdo principal do <span lang="en-us">site</span>.</p>
<p>Um exemplo interessante são os sites jornalisticos que atualizam automaticamente suas páginas de 3 em 3 minutos e, muitas vezes, esse <span lang="en-us">refresh</span> é feito tão rápido que enquanto os leitores de tela percorrem os <span lang="en-us">links</span> para poder chegar no conteúdo principal, a página já foi atualizada e retorna para o início do site tendo que percorrer todos os <span lang="en-us">links</span> novamente. Se existisse uma âncora para o conteúdo principal do <span lang="en-us">site</span>, seria mais fácil e rápido chegarmos ao conteúdo principal.</p>
<p><strong>P.S.:</strong> Por favor, não utilizem <span lang="en-us">refresh</span> automático nas páginas. Eu sou contra e condeno essa prática. <img src='http://gustavoribeiro.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://gustavoribeiro.com/artigos/ancoras-xhtml-saiba-como-utiliza-las/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS Border-Collapse</title>
		<link>http://gustavoribeiro.com/artigos/css-border-collapse</link>
		<comments>http://gustavoribeiro.com/artigos/css-border-collapse#comments</comments>
		<pubDate>Wed, 06 Jan 2010 16:57:00 +0000</pubDate>
		<dc:creator>Gustavo Ribeiro</dc:creator>
				<category><![CDATA[artigos]]></category>
		<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://gustavoribeiro.com/?p=90</guid>
		<description><![CDATA[A propriedade border-collapse tem como objetivo dividir ou não as bordas das tabelas via CSS e possui os seguinte atributos: collapse e separate.
Por padrão, toda tabela renderizada recebe o atributo separate mesmo que não seja especificado no CSS da página, ou seja, cada elemento possui sua própria borda.
Exemplo de tabela com o atributo separate.
&#60;table style="border:solid [...]]]></description>
			<content:encoded><![CDATA[<p>A propriedade <em><strong>border-collapse</strong></em> tem como objetivo dividir ou não as bordas das tabelas via CSS e possui os seguinte atributos: collapse e separate.</p>
<p>Por padrão, toda tabela renderizada recebe o atributo <em>separate</em> mesmo que não seja especificado no CSS da página, ou seja, cada elemento possui sua própria borda.</p>
<p><strong>Exemplo de tabela com o atributo </strong><em><strong>separate.</strong></em></p>
<pre><code>&lt;table style="border:solid 1px #00f"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style="border:solid 1px #0f0"&gt;célula 1&lt;/td&gt;
            &lt;td style="border:solid 1px #0f0"&gt;célula 2&lt;/td&gt;
            &lt;td style="border:solid 1px #0f0"&gt;célula 3&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;</code></pre>
<table style="border: 1px solid #0000ff; margin: 15px auto; width: 100%;" border="0" cellpadding="2">
<tbody>
<tr>
<td style="border: solid 1px #0f0; text-align: center;">célula 1</td>
<td style="border: solid 1px #0f0; text-align: center;">célula 2</td>
<td style="border: solid 1px #0f0; text-align: center;">célula 3</td>
</tr>
</tbody>
</table>
<p><strong>Exemplo de tabela com o atributo </strong><em><strong>collapse</strong></em><strong>.</strong></p>
<pre><code>&lt;table style="border:solid 1px #00f;border-collapse:collapse"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style="border:solid 1px #0f0"&gt;célula 1&lt;/td&gt;
            &lt;td style="border:solid 1px #0f0"&gt;célula 2&lt;/td&gt;
            &lt;td style="border:solid 1px #0f0"&gt;célula 3&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;</code></pre>
<table style="border: 1px solid #0000ff; margin: 15px auto; border-collapse: collapse; width: 100%;" border="0" cellpadding="2">
<tbody>
<tr>
<td style="border: solid 1px #0f0; text-align: center;">célula 1</td>
<td style="border: solid 1px #0f0; text-align: center;">célula 2</td>
<td style="border: solid 1px #0f0; text-align: center;">célula 3</td>
</tr>
</tbody>
</table>
<p>Outras dicas são bem vindas nos comentários <img src='http://gustavoribeiro.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://gustavoribeiro.com/artigos/css-border-collapse/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ano Novo, Metas Novas?</title>
		<link>http://gustavoribeiro.com/blog/ano-novo-metas-novas</link>
		<comments>http://gustavoribeiro.com/blog/ano-novo-metas-novas#comments</comments>
		<pubDate>Mon, 04 Jan 2010 12:59:50 +0000</pubDate>
		<dc:creator>Gustavo Ribeiro</dc:creator>
				<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://gustavoribeiro.com/?p=115</guid>
		<description><![CDATA[Ok! Primeiro dia útil do ano e sempre surge essas &#8220;to-do lists&#8221; como metas para o ano. Nunca fiz essas merdas mas, como tenho que movimentar esse site, lá vai:

Tomar vergonha na cara e começar a tratar minhas escolioses com RPG (como solicitado pelo médico);
Entrar em uma academia e perder uns 10 quilos;
Comprar um iPhone [...]]]></description>
			<content:encoded><![CDATA[<p>Ok! Primeiro dia útil do ano e sempre surge essas &#8220;<em>to-do lists</em>&#8221; como metas para o ano. Nunca fiz essas merdas mas, como tenho que movimentar esse site, lá vai:</p>
<ol>
<li>Tomar vergonha na cara e começar a tratar minhas escolioses com RPG (como solicitado pelo médico);</li>
<li>Entrar em uma academia e perder uns 10 quilos;</li>
<li>Comprar um iPhone (ou um outro smartphone touch legal);</li>
<li>Conhecer Fortaleza;</li>
<li>Voltar a Porto Alegre e rever amigas(os);</li>
<li>Conhecer Fernando de Noronha (quase impossível);</li>
<li>Ser menos estressado e reclamão;</li>
<li>Tentar voltar em Salvador para rever amigas(os);</li>
<li>Comprar um MacBook (se possível, o pro);</li>
<li>Conhecer Florianópolis;</li>
<li>Vender bastante perfume importado e;</li>
<li>Tomar coragem e sair de casa.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://gustavoribeiro.com/blog/ano-novo-metas-novas/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Gerenciamento</title>
		<link>http://gustavoribeiro.com/blog/gerenciamento</link>
		<comments>http://gustavoribeiro.com/blog/gerenciamento#comments</comments>
		<pubDate>Mon, 28 Dec 2009 12:26:01 +0000</pubDate>
		<dc:creator>Gustavo Ribeiro</dc:creator>
				<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://gustavoribeiro.com/?p=102</guid>
		<description><![CDATA[Todos os dias, uma formiga chegava cedinho ao escritório e pegava duro no trabalho. A formiga era produtiva e feliz.
O gerente marimbondo estranhou a formiga trabalhar sem supervisão. Se ela era produtiva sem supervisão, seria ainda mais se fosse supervisionada.
E colocou uma barata, que preparava belíssimos relatórios e tinha muita experiência, como supervisora. A primeira [...]]]></description>
			<content:encoded><![CDATA[<p>Todos os dias, uma formiga chegava cedinho ao escritório e pegava duro no trabalho. A formiga era produtiva e feliz.<br />
O gerente marimbondo estranhou a formiga trabalhar sem supervisão. Se ela era produtiva sem supervisão, seria ainda mais se fosse supervisionada.</p>
<p>E colocou uma barata, que preparava belíssimos relatórios e tinha muita experiência, como supervisora. A primeira preocupação da barata foi a de padronizar o horário de entrada e saída da formiga.</p>
<p>Logo, a barata precisou de uma secretária para ajudar a preparar os relatórios e contratou também uma aranha para organizar os arquivos e controlar as ligações telefônicas.</p>
<p>O marimbondo ficou encantado com os relatórios da barata e pediu também gráficos com indicadores e análise das tendências que eram mostradas em reuniões.</p>
<p>A barata, então, contratou uma mosca, e comprou um computador com impressora colorida. Logo, a formiga produtiva e feliz, começou a se lamentar de toda aquela movimentação de papéis e reuniões!</p>
<p>O marimbondo concluiu que era o momento de criar a função de gestor para a área onde a formiga produtiva e feliz, trabalhava. O cargo foi dado a uma cigarra, que mandou colocar carpete no seu escritório e comprar uma cadeira especial.</p>
<p>A nova gestora cigarra logo precisou de um computador e de uma assistente (sua assistente na empresa anterior) para ajudá-la a preparar um plano estratégico de melhorias e um controle do orçamento para a área onde trabalhava a formiga, que já não cantarolava mais e cada dia se tornava mais chateada.</p>
<p>A cigarra, então, convenceu o gerente marimbondo, que era preciso fazer um estudo de clima. Mas, o marimbondo, ao rever as cifras, se deu conta de que a unidade na qual a formiga trabalhava já não rendia como antes e contratou a coruja, uma prestigiada consultora, muito famosa, para que fizesse um diagnóstico da situação. A coruja permaneceu três meses nos escritórios e emitiu um volumoso relatório, com vários volumes que concluía : Há muita gente nesta empresa!!</p>
<p>E adivinha quem o marimbondo mandou demitir? A formiga, claro, porque ela andava muito desmotivada e aborrecida.</p>
]]></content:encoded>
			<wfw:commentRss>http://gustavoribeiro.com/blog/gerenciamento/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CSS Sprite &#8211; Menu rollover com imagem</title>
		<link>http://gustavoribeiro.com/artigos/css-sprite-menu-rollover-com-imagem</link>
		<comments>http://gustavoribeiro.com/artigos/css-sprite-menu-rollover-com-imagem#comments</comments>
		<pubDate>Wed, 23 Dec 2009 13:08:04 +0000</pubDate>
		<dc:creator>Gustavo Ribeiro</dc:creator>
				<category><![CDATA[artigos]]></category>
		<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://gustavoribeiro.com/?p=84</guid>
		<description><![CDATA[Hoje irei falar sobre como criar menu rollover com imagem. Menus rollover são menus que alternam o estilo ao passarmos o mouse sobre o objeto, um mouseover da vida.
Antigamente &#8211; e ainda bato de frente com isso hoje em dia &#8211; esses menus eram criados utilizando javascript e, pelo menos, dois arquivos de imagem &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>Hoje irei falar sobre como criar menu rollover com imagem. Menus rollover são menus que alternam o estilo ao passarmos o mouse sobre o objeto, um <em>mouseover</em> da vida.</p>
<p>Antigamente &#8211; e ainda bato de frente com isso hoje em dia &#8211; esses menus eram criados utilizando <em>javascript</em> e, pelo menos, dois arquivos de imagem &#8211; uma para o menu ativo e outra quando ativado o <em>mouseover</em>. Um problema que muito me incomoda com essa maneira de se criar menus é o fato de, quando passamos o mouse por cima no objeto ele sumir com a imagem de fundo enquanto carrega a nova imagem.</p>
<p>Com todas as possibilidades que o CSS nos dá, isso muda muito. Primeiro que, não precisamos mais do <em>javascript</em> para ativar a troca de imagem e tão pouco de duas imagens. Vamos a explicação.</p>
<p>Vamos começar pela imagem que iremos utilizar no menu. Criaremos, no mesmo arquivo de imagem, os dois estilos para nosso menu conforme imagem abaixo:</p>
<p style="text-align: center;"><img class="size-medium wp-image-163 aligncenter" title="rollover" src="http://gustavoribeiro.com/_exemplos/rollover.jpg" alt="" width="100" height="36" /></p>
<p>Percebemos que, da metade para cima, temos a parte que aparecerá logo que carregarmos nossa página e, na metade de baixo, a parte que aparecerá quando passarmos o mouse sobre o menu. Ok Gustavo, mas como faremos isso? Simples! Primeiro criaremos nosso menu com listas desordenadas:</p>
<pre><code>&lt;ul&gt;
    &lt;li&gt;&lt;a href="index.htm"&gt;Home&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="quemSomos.htm"&gt;Quem Somos&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="contato.htm"&gt;Contato&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</code></pre>
<p>A mágica esta toda no CSS, vejamos:</p>
<pre><code>a {display:block;width:100px;height:18px;background:url('bgMenu.gif') no-repeat}
a:hover {background-position:0 -18px} /* ao passar o mouse no menu, deslocar
                                         o fundo em -18px para o topo */</code></pre>
<p><a href="http://gustavoribeiro.com/_exemplos/rollover.htm">Veja o exemplo</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://gustavoribeiro.com/artigos/css-sprite-menu-rollover-com-imagem/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Guias de referência xHTML e CSS</title>
		<link>http://gustavoribeiro.com/artigos/guias-de-referencia-xhtml-e-css</link>
		<comments>http://gustavoribeiro.com/artigos/guias-de-referencia-xhtml-e-css#comments</comments>
		<pubDate>Fri, 27 Nov 2009 11:00:52 +0000</pubDate>
		<dc:creator>Gustavo Ribeiro</dc:creator>
				<category><![CDATA[artigos]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://gustavoribeiro.com/?p=42</guid>
		<description><![CDATA[A W3C Brasil, a um tempo atrás disponibilizou impresso dois guias para consulta de desenvolvedores front-end e para quem mais se interessar. Atualmente, este guia se encontra disponível no no site do escritório Brasil sendo, um deles, de xhtml e um sobre css.
Acessando os links abaixo, você poderá visualizar esses guias e também, caso prefira, [...]]]></description>
			<content:encoded><![CDATA[<p>A <strong><abbr title="World Wide Web Consortium">W3C</abbr> Brasil</strong>, a um tempo atrás disponibilizou impresso dois guias para consulta de desenvolvedores front-end e para quem mais se interessar. Atualmente, este guia se encontra disponível no no site do escritório Brasil sendo, um deles, de xhtml e um sobre css.</p>
<p>Acessando os links abaixo, você poderá visualizar esses guias e também, caso prefira, baixar o PDF para impressão ou para própria consulta digital.</p>
<ul>
<li><a href="http://www.w3c.br/divulgacao/guiasreferencia/xhtml1/" target="_blank">Guia de referência rápida xHTML</a></li>
<li><a href="http://www.w3c.br/divulgacao/guiasreferencia/css2/" target="_blank">Guia de referência rápida CSS</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://gustavoribeiro.com/artigos/guias-de-referencia-xhtml-e-css/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GustavoRibeiro agora é .COM.</title>
		<link>http://gustavoribeiro.com/home/gustavoribeiro-agora-e-com</link>
		<comments>http://gustavoribeiro.com/home/gustavoribeiro-agora-e-com#comments</comments>
		<pubDate>Tue, 10 Nov 2009 09:36:29 +0000</pubDate>
		<dc:creator>Gustavo Ribeiro</dc:creator>
				<category><![CDATA[home]]></category>

		<guid isPermaLink="false">http://gustavoribeiro.com/?p=1</guid>
		<description><![CDATA[Estamos reformulando totalmente o site para que você, leitor, possa encontrar com mais facilidade o que procura, além de possibilitar uma maior interatividade com as matérias e artigos aqui publicados.
Além de diversas melhorias, contaremos com áreas exclusivas para divulgação de trabalhos e de nossa carteira de clientes.
Enquanto isso, para não deixar de movimentar esse site, [...]]]></description>
			<content:encoded><![CDATA[<p>Estamos reformulando totalmente o site para que você, leitor, possa encontrar com mais facilidade o que procura, além de possibilitar uma maior interatividade com as matérias e artigos aqui publicados.</p>
<p>Além de diversas melhorias, contaremos com áreas exclusivas para divulgação de trabalhos e de nossa carteira de clientes.</p>
<p>Enquanto isso, para não deixar de movimentar esse site, estaremos provisoriamente com o essa &#8220;roupagem&#8221; simples e, se preferir, <a href="http://gustavoribeiro.com/blog">acesse o nosso blog</a> ou <a href="http://gustavoribeiro.com/artigos">nossos artigos</a> (para acompanhar futuras postagens) ou entre em contato pelo e-mail contato[a]gustavoribeiro.com.</p>
]]></content:encoded>
			<wfw:commentRss>http://gustavoribeiro.com/home/gustavoribeiro-agora-e-com/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Webdesign – Agosto 09</title>
		<link>http://gustavoribeiro.com/artigos/webdesign-%e2%80%93-agosto-09</link>
		<comments>http://gustavoribeiro.com/artigos/webdesign-%e2%80%93-agosto-09#comments</comments>
		<pubDate>Sat, 08 Aug 2009 12:00:58 +0000</pubDate>
		<dc:creator>Gustavo Ribeiro</dc:creator>
				<category><![CDATA[artigos]]></category>
		<category><![CDATA[revista]]></category>

		<guid isPermaLink="false">http://gustavoribeiro.com/?p=168</guid>
		<description><![CDATA[Esse mês a Revista Webdesign vem falando sobre Flash, Usabilidade, Acessibilidade e SEO além de  um artigo sobre xhtml ao qual fui convidado a dar continuidade nas edições de Agosto e Setembro. Meu primeiro artigo escrito para um meio de comunicação impresso.

Compre a revista, leia o artigo e &#8211; se não for pedir muito [...]]]></description>
			<content:encoded><![CDATA[<p>Esse mês a Revista Webdesign vem falando sobre Flash, Usabilidade, Acessibilidade e SEO além de  um artigo sobre xhtml ao qual fui convidado a dar continuidade nas edições de Agosto e Setembro. Meu primeiro artigo escrito para um meio de comunicação impresso.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://www.arteccom.com.br/webdesign/wp-content/themes/webdesign/images/capa_68_menor.jpg" alt="" width="100" height="135" /></p>
<p>Compre a revista, leia o artigo e &#8211; se não for pedir muito &#8211; enviem um feedback. Gostaria muito de saber o que os leitores estão achando do artigo e o que eu posso melhorar para, se existir, os próximos.</p>
<p><a href="http://www.arteccom.com.br/webdesign/downloads/68/sumario_68.pdf" target="_blank">Sumário da edição (pdf)</a></p>
<p>Grande abraço.</p>
]]></content:encoded>
			<wfw:commentRss>http://gustavoribeiro.com/artigos/webdesign-%e2%80%93-agosto-09/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
