<?xml version="1.0" encoding="ISO-8859-1" ?>
<?xml-stylesheet type="text/xsl" href="/lib/xsl/devedge-1.00/article_en.xsl"?>
<nde:article
  url="/viewsource/2003/devedge-redesign/"
  xmlns="http://www.w3.org/1999/xhtml"
  xmlns:nde="http://devedge.netscape.com/2002/de"
  xmlns:ent="http://devedge.netscape.com/2003/ent"
  xml:lang="pt-br">

  <nde:header>
  <nde:title>Redesign do DevEdge apresentado como exemplo de W3C Standards</nde:title>
  <nde:category>Article</nde:category>
  <nde:authlist>
    <nde:author>
      <nde:authname>Eric Meyer, Susie Wyshak</nde:authname>
      <nde:authaffil>Netscape Communications</nde:authaffil>
    </nde:author>
    <nde:author>
      <nde:authname>Tradução - Marcio Galli e Roger Soares</nde:authname>
      <nde:authaffil></nde:authaffil>
    </nde:author>

  </nde:authlist>
  <nde:pubdate year="2003" month="03" day="05"/>
  <nde:channels>
    <nde:channel id="viewsource" />
    <nde:channel id="css" />
   </nde:channels>
    <nde:keywords>tableless, redesign, dhtml, dhtml menus, css, code sample, cascading style sheets, gecko, web standards, W3C
    </nde:keywords>
    <nde:summary>
Netscape DevEdge agora inova com design eficiente, acessível e cross-browser. O design orientado à CSS e sem utilizaçao de tabelas permite que o visitante possa escolher o tema preferido, além de outras melhorias. Saiba mais aqui sobre as funcionalidades fundamentais no web site.
     </nde:summary>
</nde:header>

  <nde:head>
<style type="text/css">
#examples td {border: 1px solid gray; padding: 0.5em; vertical-align: top;}
#content div.summary {float: right; width: 30%; font-size: smaller;
  border: 2px solid #006; background: #DDE; margin: 2em 0 1em 1.5em; padding: 0;}
#content div.summary h3 {margin: 0; padding: 0.25em 0.1em 0.15em;
  background: #006; color: #FFF; text-align: center;}
#content div.summary ul {margin: 0; padding: 0.5em 0.5em 0.75em 1.75em;}
a.simplelink {font-weight: normal !important;}
</style>
  </nde:head>

  <nde:content>
<h2>Introdução</h2>
<p>
A equipe do Netscape DevEdge realizou um redesign completo, em um período de tempo relativamente curto, para mostrar como CSS avançado e XML podem ajudar desenvolvedores web em sua saga de criar sites cross-browser baseados nos padrões W3C (Web Standards). Entre outras coisas, o novo site tem a finalidade de demonstrar:
</p>
<ul>
	<li>Várias técnicas cross-browser baseadas nos W3C Standards</li>
	<li>Vantagens de acessibilidade do design baseado nos Standards</li>
	<li>A facilidade com que se pode criar uma experiência de controle sobre o site que seja envolvente para o usuário</li>
</ul>
<p>
Embora esse seja um tópico sobre o qual a equipe tem dialogado freqüentemente, fomos definitivamente inspirados pelo trabalho que Douglas Bowman fez no <a href="http://www.wired.com/news/culture/0,1284,55675,00.html">redesign do site da Wired</a> em outubro de 2002.
(Você pode encontrar mais informações em
<a href="/viewsource/2002/wired-interview/">nossa entrevista com Douglas Bowman</a>).
De certa forma, o que estamos fazendo aqui é uma tentativa de deixar o site DevEdge como um exemplo de última geração do que pode (e não pode) ser feito com markup limpo e visual definido por CSS.
</p>

<div class="summary">
<h3>Benefício para visitantes</h3>
<ul>
    <li>Conteúdo acessível: Texto e ordem amigáveis para leitores de tela, dispositivos handheld, e outros user agents alternativos.</li>
    <li>Alta performance: Mais rápido, páginas leves livres de tabelas pesadas e markup que melhoram a experiência do usuário.</li>
    <li>Customizável: Visitantes podem escolher o design e tamanho de texto que mais lhes agradam durante a navegação no site.</li>
</ul>
</div>

<h2>O Desafio</h2>
<p>
Quando nos decidimos por dar este passo, tinhamos alguns objetivos básicos em mente. Eles eram:
</p>
<ul>
<li>Site movido por XHTML 1.0 Transitional e CSS para garantir downloads rápidos e conteúdo acessível. </li>
<li>Markup simples para permitir mudanças rápidas nos modelos. </li>
<li>Diminuir o tamanho médio das páginas em 25%.</li>
<li>Permitir o controle centralizado sobre layout e aparência. </li>
<li>Definir o layout da página com posicionamento CSS simples. </li>
<li>Aumentar bastante a acessibilidade sem o uso de código especial ou detecção de user agents.</li>
</ul>
<p>
No estágio atual, nós atingimos quatro dos nossos seis objetivos, sendo que quase chegamos em cinco. Os dois que não atingimos foram a utilização de XHTML 1.0 Transitional e a redução do tamanho das páginas.
</p>
<p>
Por que não estamos utilizando XHTML? Principalmente porque alguns dos nossos conteúdos antigos foram feitos utilizando-se HTML 4.x, e consideramos que o esforço de converter todo o conteúdo não valeria a pena.

Ao invés disso, decidimos utilizar HTML 4.01 Transitional. Note que do lançamento do novo site nem todas as páginas validam segundo HTML 4.01 Transitional, em grande parte graças ao conteúdo legado já mencionado. Nós planejamos limpar esse conteúdo legado com o tempo e eventualmente ter um site que valide do início ao fim.

</p>
<p>
Nosso objetivo de redução do tamanho das páginas foi bem ambiciosa, e apesar de termos chegado perto, quase não reduzimos metade. Isso ocorreu parcialmente porque nós tinhamos um markup relativamente leve no nosso design anterior; apesar de usarmos tabelas para o layout, elas eram simples e já as tínhamos reduzido ao máximo possível. Se você verificar somente o markup do modelo, que é o markup que aparece em todas as páginas, nós teríamos chegado a uma redução de 50% se não tivéssemos feito nossa navegação muito mais abrangente. Mais a respeito em um momento.
</p>


<h2>Vantagens-chave demonstráveis</h2>

<p>Aqui estão algumas das novas vantagens que você pode verificar:</p>

<h3>Demonstração 1: Estilos selecionáveis pelo usuário</h3>
<p>
Para mostrar o quão fácil sites podem oferecer um look and feel controlado pelo usuário, nós decidimos utilizar um "seletor de estilos" que permitiria que usuários escolhessem um dentre quatro temas visuais e que também permitisse mudar o tamanho do texto.
O código JavaScript básico para isto foi baseado no
<a href="http://alistapart.com/stories/alternate/">Paul Snowden's switching script</a>, no entando foi incorporado um conjunto de mudanças. Embora tenhamos considerado originalmente uma ferramenta de customização um pouco mais complexa que permitisse que usuários pudessem definir estilos de cores arbitrários para vários elementos na interface, no final decidimos por manter as coisas relativamente simples. A customização avançada poderá ser implementada no futuro.
</p>
<p>
Quando você escolhe um tema, suas preferências são salvas em um "cookie" chamado
<code>nde-style</code>. Da mesma maneira poderia ser simplesmente oferecido a funcionalidade de oferecer customização de estilos para seções do site. É também possível a criação de estilos que possam rearranjar completamente o layout visual do site segundo a preferência do usuário.
</p>
<p>
O mesmo mecanismo básico é utilizado para relembrar o tamanho do texto, a diferença é que o "cookie" neste caso é chamado <code>nde-textsize</code>.
</p>

<h4>Como verificar:</h4>
<ul>
	<li>Passe o ponteiro do Mouse em cima do botão [temas] e selecione o seu favorito.</li>
	<li>Clique + e - para alterar o tamanho do texto, e O para voltar ao tamanho Original. </li>
</ul>


<h3>Demonstração 2: DHTML Menus Cross-Browser</h3>
<p>
É fácil falar sobre os benefícios dos menus cross-browser, mas quando se introduz conceitos de CSS avançado, nota-se que é desafiador dar suporte para navegadores antigos que têm suporte reduzido aos W3C Standards.
Tentamos várias vezes a utilização de menus em "CSS puro" versus menus mais tradicionais feitos em JavaScript. No final, a equipe do DevEdge combinou CSS avançado com JavaScript para criar uma solução híbrida onde os menus abrem elegantemente tanto em navegadores baseados no <a href="/central/gecko">Netscape Gecko</a> quanto no Internet Explorer e no Opera.
</p>
<p>
E o melhor, o código markup do menu é baseado em listas aninhadas não ordenadas, o que mantém o markup leve e estruturado para navegadores não-visuais e dispositivos alternativos como celulares ou navegadores de dispositivos palm.

Ao fazer isto, a equipe do DevEdge se inspirou na
 <a href="http://www.meyerweb.com/eric/css/edge/menus/demo.html">demonstração "pure CSS menus"</a> localizada em <a href="http://www.meyerweb.com/eric/css/edge/">css/edge</a>, e os menus DHTML <a href="http://gazingus.org/dhtml/?id=109">disponíveis em gazingus.org</a>,
embora tenhamos adotado nossa própria abordagem na implementação. Isto nos permitiu criar facilmente menus com fácil capacidade de mudança de estilo visual e que funcionam em diversos navegadores usando muito pouco código JavaScript.
Melhor ainda, o CSS e o código JavaScript são feitos de tal maneira, que se o JavaScript estiver desabilitado, os menus continuarão funcionando nos navegadores que estão em conformidade com CSS2.
Aprenda à partir de nossas experiências e veja como seu site pode se beneficiar reusando este código.
</p>
<h4>Como verificar:</h4>
<ul>
<li>Passe o ponteiro do mouse sobre os ítems de menu acima, utilizando Netscape 7, IE5.5+ e Opera 7+.</li>
<li>Desabilite o JavaScript. Você vai notar que com o Netscape 7.0+ ou Mozilla 1.0+ os menus ainda funcionam, devido ao suporte avançado de CSS2 presente no Netscape Gecko. </li>
</ul>


<h3>Demonstração 3: Estruturando para Acessibilidade e Usabilidade</h3>
<p>
Um dos grandes objetivos do esforço de redesign foi deixar o DevEdge ainda mais acessível do que ele tem sido em suas encarnações anteriores. Para tornar isto possível, a equipe de design decidiu logo de início que o site deveria ter seu layout definido através de posicionamento CSS. Isto permitiu que os documentos fossem estruturados de uma forma que fizesse sentido para dispositivos de acesso linear (como leitores de tela) e ao mesmo tempo permitindo um design visualmente rico.
</p>
<p>
Por exemplo, em navegadores modernos, as caixas de "procura" e "temas" ficam posicionadas uma do lado da outra. Se você olhar na fonte do documento, a área de procura é parte do cabeçalho principal do site e aparece próximo do início do documento, enquanto a área "temas" é a última coisa antes do rodapé da página. De maneira similar, a barra de navegação que aparece logo abaixo do cabeçalho, no topo da página, aparece na realidade <em>abaixo</em> do conteúdo da página na fonte do documento.
</p>
<p>
Devido ao fato de que a aparência do site é quase totalmente independente da ordem do conteúdo no documento, o DevEdge agora é muito mais amigável com navegadores wireless e outros dispositivos alternativos de navegação que não utilizam CSS. Além disso, o layout do site pode ser rearranjado sem que seja necessária nenhuma mudança no markup-- preservando os benefícios de acessibilidade não importando quais estilos são usados para criar a aparência visual do site.
</p>
<p>Adicionalmente também foi incluído um experimento para simplificar a experiência do usuários, onde estilos CSS amigáveis para a impressão são automaticamente aplicados quando se imprime um artigo.
Na impressão, hiperlinks contídos no corpo do documento são mostrados com a URL correspondente ao lado do texto do hiperlink, dando assim mais significado aos hiperlinks impressos.
</p>
<h4>Como verificar:</h4>
<ul>
<li>Verifique o código fonte de qualquer página.</li>
<li>Verifique o nível de conformidade com acessilidade, através do <a href="http://www.wave.webaim.org/"> WAVE Web Accessibility Validator</a>.</li>
<li>Experimente salvar uma página no disco rígido. Você verá que ela mostra todo o texto de maneira que a navegação fica fácil para vários tipos de leitores. Isto também pode ser visto em navegadores que permitem desabilitar stylesheets ou em navegadores que não entendem CSS.</li>
<li>Imprima um artigo para ver o estilo CSS amigável para impressão com as URLs ao lado.</li>
</ul>

<h2>Mais recursos e benefícios</h2>
<p>
O redesign inclui também um conjunto de outras melhorias menos visíveis:
</p>
<ul>
<li>Dados RSS gerados automaticamente: Agora o conteúdo do DevEdge pode ser exportado para o painél <a href="/toolbox/sidebars/">DevEdge Sidebar Tabs</a> e outros sites que permitem leitura via RSS.</li>
<li>Criação de PDF automaticamente: Podemos gerar versões dos artigos em PDF através da transformação dos arquivos XML para o formato de arquivo da Acrobat.</li>
<li>Scripts simplificados: Código JavaScript funciona em múltiplos navegadores. Isto também simplifica a detecção de navegadores, que agora apenas é necessária para bloquear navegadores problemáticos de enxergar o JavaScript. </li>
<li>Design mais prático e flexível: O visual pode mudar facilmente uma vez que o CSS permite a separação da apresentação da estrutura. Poderíamos oferecer com facilidade um grande número de variações temáticas baseadas no mesmo layout. Alguns exemplos desse tipo de re-estilização do visual são os <a href="http://www.nitot.com/standards/blog/">standards blog at nitot.com</a>, o <a href="http://www.adactio.com/journal/">journal at adactio.com</a>, e o buscador <a href="http://www.alltheweb.com/help/alchemist/gallery.html">alltheweb.com</a>.</li>
<li>Reutilização de conteúdo: Pronto para outros dispositivos além dos PCs, graças à estruturação sem a utilização de tabelas. Todos os visitantes recebem exatamente o mesmo markup.</li>
<li>Conteudo Localizável: Fácil de se adicionar novas seções internacionais através da adição de conteúdo em modelos específicos para os idiomas e CSS. </li>
</ul>
<p>
Apesar destas mudanças não terem grande impacto direto na experiência do visitante, elas deixam bem mais fácil para a equipe do DevEdge manter o site rodando suavemente e deixar a informação que provemos mais diversa e útil para os visitantes.
</p>

<h2>Notas sobre compatibilidade entre navegadores</h2>
<p>
Teoricamente, qualquer navegador pode acessar o site DevEdge. Em termos visuais, entretanto, o site utiliza técnicas que funcionam nos navegadores mais recentes que possuem maior suporte aos W3C Standards. Em qualquer user agent, o conteúdo do site deve estar completamente disponível para o usuário. O layout em CSS foi construído de forma que os seguintes navegadores e plataformas pudessem tirar proveito das características avançadas do site.
</p>
<p>
Preferências: Você terá que habilitar cookies e JavaScript para experimentar o efeito completo dos vários benefícios, em especial os temas do site. Sem JavaScript habilitado, você ainda pode navegar normalmente utilizando os índices de cada seção ou o menu CSS, que funciona no Netscape 7+ e Mozilla 1+.
</p>
<p>
<strong>Nota:</strong>  Devido a problemas conhecidos em navegadores ou falta de conformidade com padrões W3C, você poderá encontrar alguns probleminhas.
Além de querer priorizar padrões modernos, decidimos não otimizar para Netscape 4.x simplesmente porque temos visto uma drástica redução do número de visitantes usando 4.x, graças à popularidade do Netscape 7.x. Usuários do Netscape 4.x ainda receberão o conteúdo do site, mas não o estilo visual.
</p>
<ul>
<li>Navegadores com compatibilidade visual:
<ul>
<li>Netscape 6+ (todas plataformas)</li>
<li>Mozilla 0.8+ (todas plataformas)</li>
<li>Internet Explorer 5.5+ (Windows)</li>
<li>Internet Explorer 5.0+ (Macintosh)</li>
<li>Opera 6+ (Windows)</li>
</ul>
</li>
<li>Navegadores com suporte aos menus drop-down:
<ul>
<li>Netscape 7+ (todas plataformas)</li>
<li>Mozilla 1.0+ (todas plataformas)</li>
<li>Internet Explorer 5.5+ (Windows)</li>
<li>Opera 7+ (Windows)</li>
</ul>
</li>
</ul>
<p>
Apreciamos seu
<a href="/community/feedback/">feedback</a> caso você verifique que o site funciona bem em outros navegadores ou plataformas não listados aqui, ou qualquer sugestão de correção que irá aperfeiçoar o comportamento cross-browser do site.
</p>
<h2>Detalhes técnicos</h2>
<p>
Aprenda mais sobre
<a href="/viewsource/2003/devedge-redesign-css/">CSS</a> e o código
<a href="/viewsource/2003/devedge-redesign-js/">JavaScript</a> por debaixo do Netscape DevEdge, assim como nosso processo de tomada de decisão durante a construção do site.
</p>
</nde:content>

<nde:related area="nde">
 <nde:item url="/central/css/">CSS Central</nde:item>
 <nde:item url="/viewsource/2003/devedge-redesign-css/">Netscape DevEdge Redesign: CSS</nde:item>
 <nde:item url="/viewsource/2003/devedge-redesign-js/">Netscape DevEdge Redesign: JavaScript</nde:item>
 <nde:item url="/central/dom/">DOM Central</nde:item>
</nde:related>

</nde:article>
