<?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>Emanuel Felipe .NET &#187; Padrões Web</title>
	<atom:link href="http://emanuelfelipe.net/blog/categoria/padroes-web/feed/" rel="self" type="application/rss+xml" />
	<link>http://emanuelfelipe.net/blog</link>
	<description>Desenvolvimento web, blogging, linux e um pouco mais.</description>
	<lastBuildDate>Wed, 01 Oct 2008 19:47:47 +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>Lista de checagem para acessibilidade</title>
		<link>http://emanuelfelipe.net/blog/lista-de-checagem-para-acessibilidade/</link>
		<comments>http://emanuelfelipe.net/blog/lista-de-checagem-para-acessibilidade/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 03:12:23 +0000</pubDate>
		<dc:creator>Emanuel Felipe</dc:creator>
				<category><![CDATA[Padrões Web]]></category>

		<guid isPermaLink="false">http://emanuelfelipe.net/blog/?p=230</guid>
		<description><![CDATA[Recentemente encontrei uma lista de checagem para acessibilidade na web muito interessante, ela pode ser encontrada na língua inglesa no formato PDF ou formato de texto, o documento não é a solução definitiva para acabar com os problemas de acessibilidade, mas ainda sim é muito útil como ponto de partida.]]></description>
			<content:encoded><![CDATA[<p>Recentemente encontrei uma lista de checagem para acessibilidade na web muito interessante, ela pode ser encontrada na língua inglesa no <a href="http://cameronmoll.com/archives/2008/06/web_accessibility_checklist/">formato PDF</a> ou <a href="http://northtemple.com/1608">formato de texto</a>, o documento não é a solução definitiva para acabar com os problemas de acessibilidade, mas ainda sim é muito útil como ponto de partida. Segue abaixo uma tradução livre do documento escrito originalmente por Aaron Cannon.</p>
<p>Você pode fazer o download da lista nos links abaixo ou apenas ler o restante do artigo.</p>
<ul>
<li><a href="http://emanuelfelipe.net/blog/wp-content/uploads/2008/06/lista-de-checagem-para-acessibilidade-na-web.doc">Lista de Checagem para Acessibilidade na Web em DOC</a>.</li>
<li><a href="http://emanuelfelipe.net/blog/wp-content/uploads/2008/06/lista-de-checagem-para-acessibilidade-na-web.pdf">Lista de Checagem para Acessibilidade na Web em PDF</a>.</li>
<li><a href="http://docs.google.com/View?docid=ddgj6cz5_13ztx9t4cb">Lista de Checagem para Acessibilidade na Web no Google Docs</a>.</li>
</ul>
<h2>Marcação</h2>
<ul>
<li>Separe estrutura de apresentação e use marcação adequada para a estrutura. Exemplo: Use  <code>&lt;ul&gt;</code> e <code>&lt;ol&gt;</code> para listas ao invés de um <code>&lt;br&gt;</code> após cada item.</li>
<li>Cabeçalhos do HTML como <code>&lt;h1&gt;</code>, &lt;<code>h2&gt;</code>, &lt;<code>h3&gt;</code> e assim por diante são muito úteis para usuários sem visão. Marque adequadamente as seções da página e o corpo do documento com cabeçalhos semânticos ao invés de fazer outro elemento parecer um título por CSS.</li>
<li>Dê títulos descritivos e com significado preciso para as páginas utilizando a tag <code>&lt;title&gt;</code>.</li>
<li>Indique o idioma principal do documento usando o atributo <code>lang</code> na tag <code>&lt;html&gt;</code>, também o utilize em outras tags do documento caso apresentarem conteúdo em idioma diferente do principal. Exemplo: <code>&lt;span lang="es"&gt;Hola&lt;/span&gt; significa Olá</code>.</li>
<li>Forneça um link &#8220;Pular para o conteúdo&#8221; no topo do documento para que seja possível pular toda a navegação indo direto para o conteúdo.</li>
<li>Sempre indique cabeçalhos em tabelas usando a tag <code>&lt;th&gt;</code>, e associe todas as células a seus respectivos cabeçalhos.</li>
<li>Assegure-se de oferecer uma ordem lógica para a navegação com tecla tab utilizando o atributo <code>tabindex</code>. (Mas se seu código HTML já estiver na ordem adequada não é preciso utilizar este atributo.)</li>
</ul>
<h2>Aparência Visual &amp; Conteúdo</h2>
<ul>
<li>Certifique-se que a página continua utilizável com as imagens desabilitadas. (Isso inclui verificar se o contraste continua suficiente para leitura sem as imagens de fundo.)</li>
<li>Certifique-se que a página se mantém usável quando o usuário aumenta o texto até duas vezes o tamanho original.</li>
<li>Certifique-se que cada elemento na página possa ser alcançado e controlado pelo teclado.</li>
<li>Sempre que possível escreva cabeçalhos descritivos e textos de links que podem ser compreendidos fora do contexto (nada de links &#8220;clique aqui&#8221;).</li>
<li>Assegure-se que seu conteúdo tem bom contraste com o fundo, até para usuários daltônicos ou com pouca visão.</li>
<li>Não use elementos que pisquem mais de três vezes por segundo.</li>
<li>Não esconda o indicador de foco. Quando um usuário usar a tecla tab para navegar deve ficar aparente qual elemento está em foco.</li>
<li>Não exija que os usuários percebam fontes, cores ou outros estilos visuais para entender o significado. Nada de &#8220;A palavra destacada no parágrafo anterior é a mais importante&#8221;, ou &#8220;Itens marcados em vermelho são erros e precisam ser corrigidos&#8221;, a menos que a palavra ou itens sejam indicados de algum outro modo.</li>
</ul>
<h2>Conteúdo Dinâmico</h2>
<ul>
<li>Não use eventos em JavaScript que alterem radicalmente a página ou carreguem uma página inteiramente nova quando acionados.</li>
</ul>
<h2>Imagens e Multimídia</h2>
<ul>
<li>Assegure-se que <strong>todas</strong> as imagens possuam o atributo <code>alt</code>, deixando o texto em branco caso a imagem seja apenas decorativa (ex: <code>alt=""</code>).</li>
<li>Adicione o atributo <code>alt</code> mesmo que as imagens sejam também links.</li>
<li>Seja breve com o conteúdo do atributo <code>alt</code> (ex: &#8220;Catedral de Notre Dame&#8221;), mas forneça detalhes quando eles derem significado (ex: &#8220;Filho em pé com sua mãe nos braços&#8221;).</li>
<li>Forneça transcrições, legendas e/ou tradução em linguagem de sinais para todo conteúdo de áudio e vídeo com falas.</li>
<li>Forneça uma versão descrita de um vídeo quando a descrição é necessária para usuários sem visão entenderem o conteúdo. (O áudio descrito pode ser distribuído com o conteúdo do vídeo ou como um arquivo de áudio apenas.)</li>
<li>Certifique-se que todos os vídeos, caso não iniciem automaticamente, tenham um controle de início acessível.</li>
<li>Quando o texto pode ser renderizado pelo navegador tão bem como apresentado em uma imagem, evite usar imagens para o texto. (Técnicas de <em>Image Replacement</em> costumam ser uma alternativa aceitável, mas considere também as traduções quando utilizar texto em ou como imagens.)</li>
<li>Evite <em>Captchas</em> a não ser que você não tenha alternativa, e mesmo assim ainda tente evitá-los. No entanto se você realmente não tem saída, forneça um <em>Captcha</em> alternativo em áudio.</li>
</ul>
<h2>Formulários</h2>
<ul>
<li>Sempre rotule <strong>todos</strong> os campos de formulários com a tag <code>&lt;label&gt;</code>. Se um campo do formulário não tiver texto específico de rotulo na página, adicione um, e esconda por CSS ou use o atributo <code>title</code>.</li>
<li>Use áreas (<code>&lt;fieldset&gt;</code>) com legendas (<code>&lt;legend&gt;</code>) para associar com botões de seleção e caixas de checagem. Exemplo: Um formulário pergunta &#8220;Sexo:&#8221; e oferece os botões de seleção &#8220;Masculino&#8221; e &#8220;Feminino&#8221;, &#8220;Sexo:&#8221; ficaria em uma tag <code>&lt;legend&gt;</code> e todos os três elementos (a tag <code>&lt;legend&gt;</code> e os dois botões de seleção) ficariam dentro da tag <code>&lt;fieldset&gt;</code>.</li>
<li>Identificar todos os erros de valores que foram enviados (indo além de apenas imagens ou ícones), e colocar a notificação de erro próxima ao campo correspondente, ou em destaque no topo da página e com um link para o campo em questão.</li>
<li>Forneça links de ajuda ou instruções sobre como preencher os campos quando necessário.</li>
<li>Não permita que os usuários completem ações importantes sem confirmação ou possibilidade de desfazerem.</li>
<li>Evite utilizar elementos do HTML de formas não semânticas, como elementos de formulários para navegação ou links para envio de formulários.</li>
</ul>
<h2>Testando</h2>
<ul>
<li>Valide sua marcação com o <a href="http://validator.w3.org/">validador do W3C</a>. Se sua página não passar no teste pode existir uma boa razão para isso.</li>
<li>Teste todas as páginas com simuladores de daltonismo. (Recomendados: <a href="http://colororacle.cartography.ch/">Color Oracle</a> e <a href="http://www.vischeck.com/">Vischeck</a>.)</li>
<li>Teste todas as páginas com um <a href="http://wave.webaim.org/">avaliador de acessibilidade</a>, mas apenas após fazer tudo o que pode para assegurar a acessibilidade da página (como seguir estas recomendações).</li>
<li>Tenha suas páginas analisadas por um perito em acessibilidade.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://emanuelfelipe.net/blog/lista-de-checagem-para-acessibilidade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cuidado! Este livro pode ser perigoso para a web</title>
		<link>http://emanuelfelipe.net/blog/cuidado-este-livro-pode-ser-perigoso-para-a-web/</link>
		<comments>http://emanuelfelipe.net/blog/cuidado-este-livro-pode-ser-perigoso-para-a-web/#comments</comments>
		<pubDate>Wed, 12 Mar 2008 22:00:33 +0000</pubDate>
		<dc:creator>Emanuel Felipe</dc:creator>
				<category><![CDATA[Padrões Web]]></category>

		<guid isPermaLink="false">http://emanuelfelipe.net/blog/cuidado-este-livro-pode-ser-perigoso-para-a-web/</guid>
		<description><![CDATA[Surgiu recentemente no WaSP a idéia de rotular alguns livros que podem ser perigosos para a web, sejam livros antigos ou com conceitos que vão contra acessibilidade e padrões web.]]></description>
			<content:encoded><![CDATA[<p>Surgiu recentemente no <a href="http://www.webstandards.org/">WaSP</a> a idéia de <a href="http://streetteam.webstandards.org/2008/03/06/street-team-make-your-mark/">rotular alguns livros que podem ser perigosos para a web</a>, sejam livros antigos ou com conceitos que vão contra acessibilidade e padrões web.</p>
<p>Existem diversos livros que ensinam a estruturar layouts com tabelas, escrever (X)HTML não semântico, construir sites não acessíveis e criar páginas com código proprietário que funcionam apenas em navegadores sem suporte a padrões.</p>
<p style="text-align: center"><a href="http://streetteam.webstandards.org/goodbooks/"><img src="http://emanuelfelipe.net/blog/wp-content/uploads/2008/03/wasp-street-team.jpg" alt="WaSP Street Team" /></a></p>
<p>A idéia é orientar que o livro rotulado não é recomendado e que há uma <a href="http://streetteam.webstandards.org/goodbooks/">lista de outros muito melhores</a> indicados pelo WaSP (em inglês). Não é simples livrar as bibliotecas públicas e de instituições de livros ruins, mas cada um pode imprimir os <a href="http://streetteam.webstandards.org/files/goodbooks.pdf">rótulos</a> (em inglês), colocar nas devidas obras e evitar que mais mentes inocentes sejam corrompidas por elas.</p>
<p>O objetivo depende totalmente de pessoas dispostas a participarem, isso torna a idéia um pouco utópica e talvez não gere grandes resultados. Mas não deixa de ser uma iniciativa legal. É possível verificar a participação de algumas pessoas por este <a href="http://www.flickr.com/groups/wasp-streetteam-bookmarks/">grupo no Flickr</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://emanuelfelipe.net/blog/cuidado-este-livro-pode-ser-perigoso-para-a-web/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Boas vindas ao Email Standards Project</title>
		<link>http://emanuelfelipe.net/blog/boas-vindas-ao-email-standards-project/</link>
		<comments>http://emanuelfelipe.net/blog/boas-vindas-ao-email-standards-project/#comments</comments>
		<pubDate>Tue, 04 Dec 2007 17:55:50 +0000</pubDate>
		<dc:creator>Emanuel Felipe</dc:creator>
				<category><![CDATA[Padrões Web]]></category>

		<guid isPermaLink="false">http://emanuelfelipe.net/blog/boas-vindas-ao-email-standards-project/</guid>
		<description><![CDATA[Baseado na idéia do Web Standards Project surgiu o Email Standards Project, o objetivo é atingir os clientes de e-mail ao invés dos fabricantes de navegadores para que também sigam algumas recomendações importantes. Os fundadores colocam que o e-mail em HTML traz mais resultados e oferece uma experiência melhor ao usuário, a importância de estabelecer [...]]]></description>
			<content:encoded><![CDATA[<p>Baseado na idéia do <a href="http://www.webstandards.org/">Web Standards Project</a> surgiu o <a href="http://www.email-standards.org/">Email Standards Project</a>, o objetivo é atingir os clientes de e-mail ao invés dos fabricantes de navegadores para que também sigam algumas recomendações importantes.</p>
<p style="text-align: center"><a href="http://www.email-standards.org/"><img src="http://emanuelfelipe.net/blog/wp-content/uploads/2007/12/esp-logo.png" alt="Email Standards Project logo" /></a></p>
<p>Os fundadores colocam que o e-mail em <acronym title="HyperText Markup Language">HTML</acronym> traz mais resultados e oferece uma experiência melhor ao usuário, a importância de estabelecer padrões estaria em criar e-mails com código limpo (assim com carregamento rápido), mais acessíveis e com renderização igual independente de cliente de e-mail.</p>
<p>É um caminho muito longo até que todos os grandes clientes de e-mail se adequem ao <a href="http://www.email-standards.org/acid-test/">Email Acid Test</a>, isso se levarem o projeto a sério. O melhor que podemos fazer para ajudar é divulgar o projeto e apoiar, será um ótimo ganho para a maioria se os objetivos forem alcançados.</p>
<p>Mas o e-mail em <acronym title="HyperText Markup Language">HTML</acronym> ainda me parece bastante distante, ao menos para quem deseja formatações semânticas através de <acronym title="Cascading Style Sheets">CSS</acronym>, por enquanto devo me contentar com texto puro, ou então com apenas uma ou duas tags dentro dos e-mails.</p>
]]></content:encoded>
			<wfw:commentRss>http://emanuelfelipe.net/blog/boas-vindas-ao-email-standards-project/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Sem&#226;ntica em abrevia&#231;&#245;es e acr&#244;nimos</title>
		<link>http://emanuelfelipe.net/blog/semntica-em-abreviaes-e-acrnimos/</link>
		<comments>http://emanuelfelipe.net/blog/semntica-em-abreviaes-e-acrnimos/#comments</comments>
		<pubDate>Wed, 25 Jul 2007 07:06:42 +0000</pubDate>
		<dc:creator>Emanuel Felipe</dc:creator>
				<category><![CDATA[Padrões Web]]></category>

		<guid isPermaLink="false">http://emanuelfelipe.net/blog/semntica-em-abreviaes-e-acrnimos/</guid>
		<description><![CDATA[A semântica é de extrema importância na web, quando se da um pouco de sentido a informação ela se torna ainda mais poderosa. No caso da internet temos interações entre aplicações, facilidade para achar o conteúdo que procura entre outras inúmeras vantagens. Apesar de dizerem que a Web 3.0 será a web semântica eu prefiro [...]]]></description>
			<content:encoded><![CDATA[<p>A semântica é de extrema importância na web, quando se da um pouco de sentido a informação ela se torna ainda mais poderosa. No caso da internet temos interações entre aplicações, facilidade para achar o conteúdo que procura entre outras inúmeras vantagens. Apesar de dizerem que a <em>Web 3.0</em> será a web semântica eu prefiro dizer que a <em>nossa</em> web precisa ser semântica.</p>
<p>Apesar de nossas linguagens de marcação ainda serem bem limitadas e estarem evoluindo muito lentamente &#8211; <acronym title="eXtensible HyperText Markup Language">XHTML</acronym> 2 e <acronym title="HyperText Markup Language">HTML</acronym> 5 não me parecem uma realidade muito próxima &#8211; existem diversos pontos onde não as aplicamos semântica em nossos documentos atuais, são eles as <a href="http://pt.wikipedia.org/wiki/Abreviatura">abreviações</a> e os <a href="http://pt.wikipedia.org/wiki/Acr%C3%B3nimo">acrônimos</a> representados pelas tags <code>&lt;abbr&gt;</code> e <code>&lt;acronym&gt;</code> respectivamente.</p>
<p>Sua aplicação é muito simples, sempre que você escrever alguma forma de abreviação em seu documento basta como <em>Av.</em> para <em>Avenida</em> basta colocar em seu código <code>&lt;abbr title="Avenida"&gt;Av.&lt;/abbr&gt;</code>. Com acrônimos não é muito diferente, quando quiser falar de <em>XML</em> que significa <em>eXtensible Markup Language</em> o código fica <code>&lt;acronym title="eXtensible Markup Language"&gt;XML&lt;/acronym&gt;</code>.</p>
<p>São coisas simples assim que tornam seu conteúdo mais rico e acessível, quando se acrescenta significado também é acrescentando valor. É seguindo este pensamento que poderemos ter aplicações cada vez mais inteligentes facilitando nossas vidas.</p>
<p><em>Dica</em>: quem utiliza o <a href="http://emanuelfelipe.net/blog/windows-live-writer-facilitando-suas-publicaes/">Windows Live Writer</a> pode utilizar o <a href="http://www.wictorwilen.se/Post/110.aspx">Acronyms Plugin</a>, uma mão na roda para não ter que ficar editando código.</p>
]]></content:encoded>
			<wfw:commentRss>http://emanuelfelipe.net/blog/semntica-em-abreviaes-e-acrnimos/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>N&#227;o me fa&#231;a digitar WWW</title>
		<link>http://emanuelfelipe.net/blog/no-me-faa-digitar-www/</link>
		<comments>http://emanuelfelipe.net/blog/no-me-faa-digitar-www/#comments</comments>
		<pubDate>Mon, 16 Jul 2007 10:13:12 +0000</pubDate>
		<dc:creator>Emanuel Felipe</dc:creator>
				<category><![CDATA[Padrões Web]]></category>

		<guid isPermaLink="false">http://emanuelfelipe.net/blog/no-me-faa-digitar-www/</guid>
		<description><![CDATA[Conhecendo meus leitores sei que não faz sentido algum explicar o que é WWW, e nem quero falar de conceitos mas sim de algo que me irrita muito: sites cujo os endereços não funcionam sem o deprecado WWW. Não há motivo algum para digitar quatro caracteres a mais &#8211; o ponto também conta &#8211; em [...]]]></description>
			<content:encoded><![CDATA[<p>Conhecendo meus leitores sei que não faz sentido algum explicar o que é <acronym title="World Wide Web">WWW</acronym>, e nem quero falar de conceitos mas sim de algo que me irrita muito: sites cujo os endereços não funcionam sem o deprecado <acronym title="World Wide Web">WWW</acronym>.</p>
<p>Não há motivo algum para digitar quatro caracteres a mais &#8211; o ponto também conta &#8211; em cada site que eu queira visitar mas ainda sim a maioria das pessoas digita, apesar disto ser problema delas e não meu. Acontece que o problema passa a ser meu também quando tento acessar um <a href="http://gvt.com.br/" rel="nofollow">gvt.com.br</a> ou <a href="http://tim.com.br/" rel="nofollow">tim.com.br</a> e recebo o desagradável erro <code>404</code>.</p>
<p>Qualquer hospedagem &#8211; ou seja lá quem controle o seu domínio &#8211; que se preze deve saber lidar com <acronym title="World Wide Web">WWW</acronym>s e a ausência deles de modo que não haja diferença alguma para o usuário. Os donos de sites devem se preocupar também pois escolher um endereço &#8211; com ou sem os <em>dablius</em> <em>-</em> para ser o principal é importante em termos de <acronym title="Search Engine Optimization">SEO</acronym>, e é possível &#8211; eu diria obrigatório &#8211; redirecionar quem acessa pelo outro.</p>
<p>Os exemplos que citei acima são de empresas arrogantes que não se importam em agradar o cliente, em uma inversão de papéis nós clientes que nos tornamos submissos a elas, logo não espero que mudem nem acredito que venham a perder um cliente por esse motivo, mas nem todas as empresas podem se dar ao luxo de desagradar assim. (Espero não ter deixado muito evidente que não gosto da <a href="http://www.tim.com.br/" rel="nofollow">TIM</a> e que a <a href="http://www.gvt.com.br/" rel="nofollow">GVT</a> tem um serviço horrível)</p>
<p>E por curiosidade existe até um movimento sobre o assunto, o <a href="http://no-www.org/">no-www</a> onde há inclusive dicas de como corrigir esse problema, não entrarei no assunto pois não domino configurações de <acronym title="Domain Name System">DNS</acronym> e servidores web e nem é esse o foco do blog.</p>
]]></content:encoded>
			<wfw:commentRss>http://emanuelfelipe.net/blog/no-me-faa-digitar-www/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Quirks mode e Standards mode: Entendendo os modos de renderiza&#231;&#227;o</title>
		<link>http://emanuelfelipe.net/blog/quirks-mode-e-standards-mode-entendendo-os-modos-de-renderizao/</link>
		<comments>http://emanuelfelipe.net/blog/quirks-mode-e-standards-mode-entendendo-os-modos-de-renderizao/#comments</comments>
		<pubDate>Fri, 18 May 2007 14:08:53 +0000</pubDate>
		<dc:creator>Emanuel Felipe</dc:creator>
				<category><![CDATA[Padrões Web]]></category>

		<guid isPermaLink="false">http://emanuelfelipe.net/blog/quirks-mode-e-standards-mode-entendendo-os-modos-de-renderizao/</guid>
		<description><![CDATA[Se você é do período sombrio da web, quando Netscape e Internet Explorer finalmente resolveram implementar o CSS (mesmo que não respeitando padrão algum), não deve ter boas lembraças de como os browsers renderizavam suas páginas. Apenas mais tarde os padrões do W3C ganharam força e os navegadores tiveram de implementá-los. Surgiu então um problema, [...]]]></description>
			<content:encoded><![CDATA[<p>Se você é do período sombrio da web, quando Netscape e Internet Explorer finalmente resolveram implementar o CSS (mesmo que não respeitando padrão algum), não deve ter boas lembraças de como os browsers renderizavam suas páginas. Apenas mais tarde os padrões do <acronym title="World Wide Web Consortium">W3C</acronym> ganharam força e os navegadores tiveram de implementá-los.</p>
<p style="clear: right" align="center"><img src="http://emanuelfelipe.net/blog/wp-content/uploads/2007/05/gloss-pngnetscape.jpg" alt="Netscape" /> <img src="http://emanuelfelipe.net/blog/wp-content/uploads/2007/05/gloss-pngmicrosoft_internet_explorer.jpg" alt="Internet Explorer" /> <img src="http://emanuelfelipe.net/blog/wp-content/uploads/2007/05/gloss-pngopera.jpg" alt="Opera" /></p>
<p>Surgiu então um problema, com a renderização obedecendo os padrões muitos sites &#8220;quebrariam&#8221; por serem projetados para navegadores antigos. A solução foi que browsers novos passassem a ter dois modos de renderização: o <strong>Quirks mode</strong> e o <strong>Standards mode</strong>, também conhecido por <strong>Strict mode</strong> (existe ainda o <strong>Almost Standards mode</strong>, que é uma pequena variação do Standards mode).</p>
<p>Sites antigos continuariam sendo renderizados &#8220;corretamente&#8221; (do ponto de vista de como foram projetados) através do Quirks mode, que obedece regras sem muito sentido criadas no passado pelos browsers. Enquanto sites novos poderiam usufruir dos padrões criados pelo <acronym title="World Wide Web Consortium">W3C</acronym> pois seriam tratados pelo Standards mode. O navegador ficou responsável por escolher o modo apropriado através do <a href="http://www.revolucao.etc.br/archives/doctype-dtd-document-type-definition/">Doctype</a> usado (ou ausência de um). <a href="http://hsivonen.iki.fi/doctype/#handling">Veja uma tabela</a> com possíveis declarações de Doctype e seu resultado em cada navegador.</p>
<p>O Quirks mode hoje é uma dor de cabeça para muitos desenvolvedores, é preciso estar ciente de qual modo de renderização está sendo usado em seu site para evitar problemas &#8220;misteriosos&#8221;. Muitas vezes o Internet Explorer volta a usar o Quirks mode por detalhes como uma declaração <acronym title="eXtensible Markup Language">XML</acronym> ou mesmo um comentário antes do Doctype, se você desenvolve seguindo os padrões isso pode facilmente quebrar seu layout.</p>
<p>(Almost) Standards mode é a melhor opção para seu projeto, embora os browsers novos tenham suporte ao Quirks mode é muito complicado e pouco produtivo trabalhar com ele por não ser realmente padronizado. E mesmo utilizando o Standards mode seu site ainda deve ficar &#8220;legível&#8221; em navegadores antigos.</p>
<p>Leitura recomendada:</p>
<ul>
<li><a href="http://www.quirksmode.org/css/quirksmode.html">Quirks mode and strict mode</a></li>
<li><a href="http://www.cs.tut.fi/~jkorpela/quirks-mode.html">What happens in Quirks Mode in web browsers?</a></li>
<li><a href="http://hsivonen.iki.fi/doctype/">Activating the Right Layout Mode Using the Doctype Declaration</a></li>
<li><a href="http://developer.mozilla.org/en/docs/Mozilla's_DOCTYPE_sniffing">Mozilla&#8217;s DOCTYPE sniffing</a></li>
<li><a href="http://developer.mozilla.org/en/docs/Mozilla_Quirks_Mode_Behavior">Mozilla Quirks Mode Behavior</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://emanuelfelipe.net/blog/quirks-mode-e-standards-mode-entendendo-os-modos-de-renderizao/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>HTML ou XHTML, qual escolher?</title>
		<link>http://emanuelfelipe.net/blog/html-ou-xhtml-qual-escolher/</link>
		<comments>http://emanuelfelipe.net/blog/html-ou-xhtml-qual-escolher/#comments</comments>
		<pubDate>Fri, 04 May 2007 20:52:47 +0000</pubDate>
		<dc:creator>Emanuel Felipe</dc:creator>
				<category><![CDATA[Padrões Web]]></category>

		<guid isPermaLink="false">http://emanuelfelipe.net/blog/html-ou-xhtml-qual-escolher/</guid>
		<description><![CDATA[Essa é uma questão antiga, muitos gostam de considerar o HTML ultrapassado e usam XHTML por ser &#8220;sua versão melhorada&#8221;. Esse raciocínio não está errado, mas que a verdade seja dita: seu XHTML provavelmente é interpretado como HTML. Acha estranho? Quando você declara a seguinte tag: &#60;meta http-equiv="content-type" content="text/html; charset=utf-8" /&#62;, está dizendo para seu [...]]]></description>
			<content:encoded><![CDATA[<p>Essa é uma questão antiga, muitos gostam de considerar o <acronym title="HyperText Markup Language">HTML</acronym> ultrapassado e usam <acronym title="eXtensible HyperText Markup Language">XHTML</acronym> por ser &#8220;sua versão melhorada&#8221;. Esse raciocínio não está errado, mas que a verdade seja dita: seu <acronym title="eXtensible HyperText Markup Language">XHTML</acronym> provavelmente é interpretado como <acronym title="HyperText Markup Language">HTML.</acronym></p>
<p>Acha estranho? Quando você declara a seguinte tag: <code>&lt;meta http-equiv="content-type" <strong>content="text/html;</strong> charset=utf-8" /&gt;,</code> está dizendo para seu documento ser interpretado como <acronym title="HyperText Markup Language">HTML</acronym> (por mais que tenha escrito em <acronym title="eXtensible HyperText Markup Language">XHTML</acronym>).</p>
<p>Não se sita mal, (ainda) não considero viável servir documentos como <acronym title="eXtensible HyperText Markup Language">XHTML</acronym> real nessa web que está sempre sendo atrasada por <a rel="nofollow" href="http://www.microsoft.com/">alguns</a>. Isso não é motivo para abandonar o <acronym title="eXtensible HyperText Markup Language">XHTML</acronym> e voltar a escrever <acronym title="HyperText Markup Language">HTML</acronym>, <a href="http://brunotorres.net/xhtml-pensando-no-futuro">somente para algumas pessoas</a> as quais eu respeito a opinião. É interessante continuar escrevendo e validar seu <acronym title="eXtensible HyperText Markup Language">XHTML</acronym>, de preferência com o <a href="http://www.w3.org/TR/1999/xhtml-modularization-19990406/DTD/doc/xhtml1-s.html">DocType Strict</a>.</p>
<p>Você se educa seguindo as rigorosas normas de criação do <acronym title="eXtensible HyperText Markup Language">XHTML</acronym> e só tende a ganhar com isso, terá mais chances de escrever um código semântico, limpo e organizado (não que no <acronym title="HyperText Markup Language">HTML</acronym> você não possa, a diferença é que o <acronym title="eXtensible HyperText Markup Language">XHTML</acronym> praticamente te obriga a isso).</p>
<p>Leitura recomendada: XHTML:</p>
<ul>
<li><a href="http://brunotorres.net/xhtml-pensando-no-futuro">XHTML: pensando no futuro?</a>;</li>
<li><a href="http://www.revolucao.etc.br/archives/xhtml-media-types/">XHTML Media Types</a>;</li>
<li><a href="http://www.w3schools.com/tags/tag_doctype.asp">HTML &lt;!DOCTYPE&gt; tag.</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://emanuelfelipe.net/blog/html-ou-xhtml-qual-escolher/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Trabalhando com Comentários Condicionais</title>
		<link>http://emanuelfelipe.net/blog/trabalhando-com-comentarios-condicionais/</link>
		<comments>http://emanuelfelipe.net/blog/trabalhando-com-comentarios-condicionais/#comments</comments>
		<pubDate>Tue, 13 Mar 2007 19:09:30 +0000</pubDate>
		<dc:creator>Emanuel Felipe</dc:creator>
				<category><![CDATA[Padrões Web]]></category>

		<guid isPermaLink="false">http://emanuelfelipe.net/blog/2007/03/13/trabalhando-com-comentarios-condicionais/</guid>
		<description><![CDATA[Todos que desenvolvem seguindo os padrões web tem bom resultados rapidamente em navegadores com boa adoção dos padrões. Mas quando chega a hora de testar no Internet Explorer quase sempre surgem problemas para resolvermos. Os comentários condicionais podem ajudar a resolver estes problemas.]]></description>
			<content:encoded><![CDATA[<p>Todos que desenvolvem seguindo os padrões do W3C já estão cansados de ver seus trabalhos ficarem ótimos no Firefox, no Opera e outros navegadores com boa adoção dos padrões. Mas quando chega a hora de testar no Internet Explorer quase sempre surgem problemas para resolvermos.</p>
<p>Partindo do ponto que você implementou o design de seu site por CSS as correções para o <abbr title="Internet Explorer">IE</abbr> devem ir também na folha de estilos, então você apela para o uso de <em>hacks</em> que impedem seu código de validar e comprometem seu layout em versões futuras do Internet Explorer. E agora?</p>
<p>Agora você pode esquecer aquele monte de hacks e passar a usar <a href="http://msdn.microsoft.com/workshop/author/dhtml/overview/ccomment_ovw.asp">comentários condicionais</a>. <a href="http://www.maujor.com/tutorial/condcom.php">Eis um artigo em português bem completo falando deles</a>.</p>
<p>O que quero ensinar é a criar uma folha de estilos exclusiva para o Internet Explorer (por exemplo: <em>ie.css</em>) e incluí-la através dos maravilhosos comentários condicionais da seguinte forma:</p>
<p><code>&lt;!--[if IE]&gt;<br />
&lt;link rel="stylesheet" type="text/css" href="css/ie.css"&gt;&lt;/link&gt;<br />
&lt;![endif]--&gt;</code></p>
<p>Lá você poderá realizar todos os ajustes necessários apenas para o IE sem prejudicar a aparência em outros navegadores e muito menos arruinar a validação de seu código.</p>
<p>Mas ainda há um problema, o Internet Explorer 7 já interpreta corretamente alguns valores mas não o suficiente para não precisar de correções. A solução: como seu <em>ie.css</em> não é examinado pelo validador, você pode usar hacks como colocar <code>_</code> (underline) antes de cada atributo, exemplo:</p>
<p><code>margin:10px;<br />
<strong>_margin:20px;</strong></code></p>
<p>Nesse caso o Internet Explorer 7 lê o primeiro atributo e ignora o segundo, e as versões anteriores interpretam os dois, mas aplicam o segundo pois sobrepõem o primeiro. Eu gosto de trabalhar assim, sem misturar as gambiarras de compatibilidade com meu CSS principal.</p>
<p>Vale lembrar que novas versões do Internet Explorer tendem a atender melhor os padrões, então utilize os comentários condicionais e <em>hacks</em> com cautela para que isso não venha a quebrar seu layout em versões futuras.</p>
]]></content:encoded>
			<wfw:commentRss>http://emanuelfelipe.net/blog/trabalhando-com-comentarios-condicionais/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
