FAQ

O que são as web standards e por que devo usá-las?

1 Introdução

2 O que são as standards?
2.1 W3C Standards
2.1.1 O que é o W3C?
2.1.2 O que faz o W3C ?
2.1.3 O que são as standards do W3C?
2.1.3.1 HTML 4.0
2.1.3.2 XML 1.0
2.1.3.3 XHTML 1.0, 1.1, Modularização XHTML
2.1.3.4 CSS - Folhas de estilo em cascata
2.1.3.5 DOM
2.2 ECMA Standards
2.2.1 O que é ECMA?
2.2.2 O que faz a ECMA ?
2.2.3 O que são as standards ECMA?
2.2.3.1 ECMAScript

3 Quais são as vantagens de se adotar as Standards?
3.1 Acessibilidade
3.1.1 Para software/máquinas
3.1.2 Para as pessoas
3.2 Estabilidade

4 Conclusões

1. Introdução

Tim Berners-Lee’s sonha para sua invenção, a World Wide Web, um espaço de uso comunitário onde compartilha-se informações de trabalho, lazer e socialização (The World Wide Web, A very short personal history). Como desenvolvedores Web criando sites corporativos, sociais e educacionais, nós transformamos este sonho em realidade.

Mas, nesta época de crescimento avassalador, a Web necessita de orientação para desenvolver seu pleno potencial. As Web standards são estas orientações. As standards asseguram que todos tenham acesso às informações e também tornam o processo de desenvolvimento Web mais rápido e mais agradável.

Conformidade com as standards facilitam o acesso a Web aos usuários portadores de necessidades especiais. Pessoas cegas podem se valer de leitores de páginas Web. Pessoas com reduzido grau de visão podem rearranjar as páginas web e aumentar o tamanho para facilitar a leitura. E, pessoas usando dispositivos portáteis podem navegar tão facilmente quanto aquelas em grandes workstations.

Como explicaremos mais adiante existem muitas razões práticas para que os desenvolvedores Web estejam engajados com as standards. Por exemplo: motores de busca encontrarão maior facilidade na indexação do site. O uso de código específico para determinado browser frequentemente duplica ou triplica o trabalho de criação das páginas Web e ainda não contempla futuros novos tipos de mídia. Esta situação só assume este aspecto caótico, pelo não uso das standards.

Alguns temem as standards por acreditar que elas impõem limites. Na verdade, elas eliminam muito do trabalho tedioso de desenvolvimento Web, proporcionando ao desenvolvedor mais tempo e maior flexibilidade para livre criação. As standards compatibilizam documentos Web tanto para aplicações futuras quando para tecnologias passadas.

Muitos usos da Web, inclusive aqueles que hoje em dia não passam de sonhos, não serão possíveis ou serão bem mais difíceis sem uma total compatibilidade com as standards. Atualmente os sistemas e software amplamente usados, são universalmente aceitos, mas, quem sabe o que está por vir no futuro? Amarrar-nos à tecnologias proprietárias significa entregar nosso futuro ao sabor do sucesso ou insucesso de um fornecedor. Confiar em standards de abrangência universal, proporcionará a sobrevivência da Web, motivando a continuação de inovações ao ritmo atual.

As standards têm muito mais a oferecer,e, nós do The Web Standards Project (WaSP), consideramos necessário ajudar você a aprender mais sobre elas. Este documento é meramente um ponto de partida; ele explica concretamente o que são as standards, para que elas servem e qual sua importância. Cada documento que publicamos na Web é uma informação a mais para uso comum neste universo que é a Web. Podemos fazer isto pensando no crescimento futuro, ou ao contrário, sem visão futuristica adicionando peso e carga aos documentos o que certamente causará uma rutura futura. A escolha é nossa; as consequências serão para todos.

2 O que são as standards?

2.1 W3C Standards

2.1.1 O que é o W3C?

O World Wide Web Consortium (W3C) é um consórcio de âmbito internacional dedicado a "conduzir a Web ao seu pleno potencial". É dirigida por Tim Berners-Lee, o inventor da Web. Fundado em 1994, o W3C tem mais de 400 organizações membro incluindo aí a Microsoft, America Online (proprietária da Netscape Communications), Apple Computer, Adobe, Macromedia, Sun Microsystems, e uma vasta gama de fabricantes de hardware e software, fornecedores de conteúdos, instituições acadêmicas e companhias de telecomunicações. O Consórcio está hospedado em três instituições de pesquisas - - MIT nos EUA, INRIA na Europa e Keio University no Japão .

2.1.2 O que faz o W3C?

O W3C desenvolve especificações abertas (de facto standards) para aumentar a interoperabilidade dos produtos para Web. As Recomendações do W3C são desenvolvidas por grupos de trabalho formados por menbros do Consórcio e experts convidados. Os grupos de trabalho criam esboços e propostas de recomendações , baseados em um consenso comum de companhias e organizações interessadas na criação de aplicações Web. Estas são então submetidas à apreciação dos membros do W3C e seu diretor para aprovação formal como uma Recomendação. Maiores detalhes sobre este processo e seus vários estágios, podem ser obtidos no website doW3C.

2.1.3 O que são as standards do W3C?

2.1.3.1 HTML 4.0 - Linguagem de marcação para Hypertexto

A linguagem de marcação para hypertexto (HTML) é universalmente usada para estruturar textos nos documentos Web. Os browsers interpretam estes documentos e apresentam sua estrutura conforme a mídia do usuário. Por exemplo: browsers visuais apresentam o elemento strong (<strong> ... </strong>) em texto negrito, ao passo que um leitor de tela imprimirá ênfase ao texto quando o ler.

Com o uso das Folhas de estilos em cascata (CSS) os autores podem definir como os elementos estruturais serão apresentados, sobrescrevendo as apresentações padrão (defaut) dos browsers.

2.1.3.2 XML 1.0 - Linguagem extensível de marcação
Trecho de um documento XML
<addressbook>
  <entry>
    <name>Bill Gates</name>

    <email>bgates@microsoft.com</email>
  </entry>
  <entry>
    <name>Marc Andreesen</name>

    <email>marca@netscape.com</email>

  </entry>
  <entry>
    <name>Jon S. von Tetzchner</name>

    <email>jon@opera.com</email>
  </entry>

</addressbook>

Linguagem extensível de marcação (XML) é uma linguagem parecida com o HTML, mas em lugar de se utilizar de um conjundo fixo e definido de elementos, permite que você defina seus próprios elementos - ou use um conjunto definido por outra pessoa. Permite até o uso de vários conjuntos de elementos em um mesmo documento - através do uso do XML namespaces.

Algumas aplicações XML, tais como XHTML e MathML, já se tornaram Recomendações do W3C Outras estão em fase de esboço no W3C.

As standards para folhas de estilo, tais como CSS e XSL, comtemplam uma grande variedade de opções para especificar como os documentos XML devem ser renderizados. Os browsers ainda oferecem suporte esporádico à renderização direta de documentos XML, por isto o uso de HTML (ou XHTML) com as CSS para estilização, é a solução a ser adotada. Atualmente 0 XML é mais usando para comunicação entre aplicações.

XML é mais flexível do que HTML, sobretudo por permitir a criação de elementos e sistemas de estruturação próprios. Isto torna o XML um formato ideal para a organização de grandes quantidades de dados, sendo, hoje, usado em muitos bancos de dados e motores de busca.

2.1.3.3 XHTML 1.0, 1.1, Modularização XHTML
XHTML

XHTML 1.0 é uma reformulação do HTML como aplicação XML. XHTML 1.0 pode ser vista como uma linguagem ideal nascida do HTML 4.01, e tecnicamente bem mais precisa devido a influência do XML.

XHTML será apresentado no seu browser de maneira idêntica ao seu HTML equivalente. Você pode querer optar pelo uso do XHTML quando houver interesse em servir seu conteúdo de diferentes maneiras, por exemplo, para um PDA; A sintaxe precisa das regras do XML torna muito mais fácil e menos dispendioso o processamento do XHTML quando comparado com o do HTML comum.

Ideologicamente, XHTML 1.0 herda os seguintes conceitos do HTML 4.01:

XHTML 1.0 também usa o modelo das três DTDs:

Strict, Transitional, e Frameset. Este modelo surgiu com o HTML 4.0 e continuou com o HTML 4.01.

Algumas práticas do XML aplicáveis ao XHTML incluem:

Para templates, veja Learn > Templates

XHTML 1.1 está constituida em três partes básicas:

A redação de documentos em XHTML 1.1, pode ser feita de duas maneiras. A primeira delas com o uso da DTD pública para XHTML 1.1, que não permitindo qualquer atributo de apresentação, resulta em documentos extremamente estruturados. A separação entre a estrutura e a apresentação é total, sendo toda a apresentação servida através de folha de estilo.

A outra maneira de redigir documentos em XHTML 1.1 é com o uso da modularização XHTML. A modularização consiste na compartimentação dos conhecidos componentes do HTML e do XHTML (tais como os textos, as tabelas, os frames, os formulários) em módulos distintos. Você pode escrever sua própria DTD e usar somente os componentes que necessite. É a característica extensível da linguagem, possibilitando ao autor Web a oportunidade de criar uma marcação "customizada".

A anotação Ruby é uma maneira especial de tratar as anotações para determinados caracteres asiáticos. Ruby faz parte do trabalho desenvolvido com vistas a internacionalização da Web.

2.1.3.4 CSS - Folhas de Estilos em Cascata

Folha de Estilos em Cascata (CSS) é um mecanismo para alterar a aparência dos elementos do HTML ou do XML , através da definição de estilos aplicáveis ao diferentes elementos, à classes de elementos ou à instâncias individuais.

Folhas de estilos podem ser usadas para definir a aparência de todo o site. Seguindo a introdução das CSS, o W3C recomenda que definições específicas para layout sejam retiradas do HTML e entregues às folhas de estilos, ensejando assim, a criação de uma World Wide Web mais simples e estrutural.

2.1.3.5 DOM 1 - Document Object Model - Nível 1

A inserção de uma linguagem de scripts (tais como ECMAScript, a versão standard do JavaScript) em uma página Web e o máximo aproveitamento de todo o poder e interatividade do script, é possivel graças ao DOM. (Em termos de programação o Document Object Model (DOM) Nível 1 é um "Application Programming Interface" (API) para interação com páginas web.) Ele possibilita ao script, acesso fácil à estrutura, ao conteúdo e à apresentação de um documento escrito em linguagens tais como o HTML e as CSS.

O DOM é compatível com futuras melhorias tecnológicas; ele permitirá a todas as linguagens de script interagir com qualquer linguagem usada no documento. Esta standard não só tornará mais fácil programar HTML dinâmico, como também simplificará a tarefa de adaptações para futuras tecnologias da Internet.

2.2 ECMA Standards

2.2.1 O que é ECMA?

O European Computer Manufacturers Association (ECMA) - Associação Européia de Fabricantes de Computadores - é uma organização oficialmente fundada em 1961 com a finalidade de levantar necessidades para elaboração de standards para os formatos operacionais de computadores, incluindo linguagem de programação e códigos input/output.

A ECMA tem sua sede em Genebra, Suiça, próxima ao quartel general da International Organization for Standardization (ISO) e da International Electrotechnical Commission (IEC). Em 1994, com a finalidade de representar melhor a diversificação das suas atividades, o nome da organização foi mudado para ECMA - European Association for Standardizing Information and Communication Systems.

2.2.2 O que faz a ECMA?

O principal objetivo da ECMA é a eleboração de Standards e produção de Relatórios Técnicos na área das tecnologias de comunicações e informação. ECMA não é um instituto oficial para normatização e sim uma associação de companhias que frequentemente colabora com instituições oficiais nacionais e internacionais.

As Standards da ECMA têm sido aceitas como base para standards européias e internacionais. Já foram publicadas mais de 270 ECMA Standards e 70 Relatórios Técnicos.

Das standards, 85 foram tornadas standards internacionais pela International Organization for Standardization (ISO) e 25, tornadas standards européias pelo European Telecommunications Standards Institute (ETSI).

2.2.3 O que são as standards ECMA?

2.2.3.1 ECMAScript (standard para JavaScript)

ECMAScrip é uma linguagem standard de script, baseada nas largamente enpregadas JavaScript da Netscape e JScript da Microsoft. A standard para ECMAScript é definida pelo ECMA’s Technical Committee 39 (TC-39).

O principal uso de ECMAScript, que é uma linguagem baseada em objetos, é a manipulação dos objetos definidos pelo Document Object Model (DOM) em uma página Web. Estes objetos (na prática, os elementos que compõem uma página Web ou a própria página como um todo) podem ser adicionados, suprimidos, movidos ou ter suas propriedades alteradas. Isto possibilita ao desenvolvedor web implementar efeitos tais como animação de textos, rollovers de imagens e mudança de páginas baseada em inputs do usuário.

A atual especificação para ECMAScript é a ECMA Standard ECMA-262, ECMAScript Language Specification, 2nd edition.

3 Quais são as vantagens de se adotar as web standards?

3.1 AcessibiliDADE

3.1.1 Para software/máquinas

Páginas em conformidade com as standards terão grande visibilidade em resultados de buscas na Web. Documentos conformes, graças a sua estruturação, facilitam e fornecem informações detalhadas aos mecanismos de busca, resultando em uma indexação mais apurada.

Os softwares, quer instalados do lado do cliente quer do lado do servidor terão maior facilidade em entender a estrutura de documentos em conformidade com as standards e a tarefa de instalar um mecanismo de busca dentro do próprio site torna-se mais fácil e propicia melhores resultados.

As standards são escritas de modo a que os browsers antigos entendam a estrutura básica dos documentos. Mesmo que eles, browsers antigos, sejam incapazes de entender as mais recentes e sofisticadas implementações das standards, estarão aptos a renderizar os conteúdos do site. Certamente, o mesmo se aplica para sistemas robotizados que coletam informações do site para motores de busca ou outros indexadores.

Códigos em conformidade com as standards são passíveis de serem validados em serviços de validação. Os validadores processam os documentos e reportam uma lista de erros, tornando a tarefa de busca e correção de erros bem mais fácil e rápida.

Documentos conformes são mais facilmente convertidos para outros formatos, tais como bancos de dados ou documentos Word. Isto possibilita maior versatilidade no uso das informações contidas em um documento da World Wide Web, e simplifica a migração para novos sistemas - hardware bem como software - incluindo dispositivos como TVs e PDAs.

3.1.2 Para as pessoas

Acessibilidade é um conceito atrelado a variadas web standards, especialmente ao HTML.

Significa não somente acesso à web para pessoas portadoras de necessidades especiais, como também à usuários com browsers não convencionais, incluindo-se aí os browsers de voz, que lêem os documentos para pessoas com restrições visuais, os browsers Braille que convertem textos para a escrita Braille, os browsers portáteis com monitores minúsculos, as tela para tele-textos e demais dispositivos não usuais.

Com a crescente diversidade de meios para acesso a Web, os ajustes ou duplicações dos websites para atender aos novos dispositivos torna-se uma tarefa cada vez mais difícil (na verdade, pode-se dizer, uma tarefa impossível nos dias atuais). As standards são um grande passo para a solução deste problema. Sites em conformidade com as standards serão consistentemente renderizados não só em browsers convencionais novos e antigos como também em browsers não usuais e sofisticados tipos de mídia.

Algumas das consequências de se ignorar as standards são óbvias: a mais evidente é a restrição de acesso ao site. Para os seus negócios, qual é o sentido em limitar o acesso a uma fraçãodo total de pessoas interessadas em visitar seu site? Para um site comercial, negar acesso mesmo que seja para uma fração mínima de seu público alvo, pode fazer uma diferença muito grande para o faturamento. Para um site educacional, é evidente assegurar acesso não só aos estudantes com sofisticados browsers gráficos, como também àqueles menos favorecidos, usando browsers de textos ou estudantes portadores de necessidades especiais usando browsers especiais.

O mesmo princípio aplica-se a qualquer tipo de website— ainda que seja grande a tentação de se afastar das standards e tirar o máximo proveito de soluções proprietárias os ganhos em acessibilidade com as standards, são bem mais compensadores a longo prazo.

3.2 EStabiliDADE

A grande maioria das web standards são em geral projetadas com vistas a compatibilidade com o passado e com o futuro — assim documentos projetados em conformidade com versões antigas das standards continuarão válidos para novos browsers, e aqueles projetados em conformidade com as standards atuais "degradarão graciosamente" produzindo um resultado aceitável em browsers antigos.

Durante sua existência, um website pode vir a ser gerenciado por várias equipes de designers e é importante que qualquer um compreenda e edite o código com facilidade. As web standards baseiam-se em um conjunto de regras que qualquer desenvolvedor Web é capaz de seguir, entender e estar familiarizado. Quando um desenvolvedor projeta segundo as standards, outro desenvolvedor é capaz de assumir sem qualquer problema ou solução de continuidade.

4. Conclusão

Como desenvolvedor web, nós estamos constantemente tendo que administrar e solucionar inconsistências na maneira de renderização de páginas web por variados tipos e versões de browsers. Isto demanda um maior consumo de tempo na criação de múltiplas versões de código ou codificação para um só browser, o que torna o site de díficil, quando não impossível, acesso para uma parcela do público que o visita. Esta situação se agravará com o advento de novos hardware e software capacitandos a acessar a Web, tais como telefones, pagers, e PDAs.

As web standards não são leis cabalísticas, impostas por organizações enclausuradas em torres de marfim. Como já foi descrito, as standards são para pessoas que as criaram e optaram por adotá-las — fabricantes de browsers, desenvolvedores web, fornecedores de conteúdos, e outras organizações.

Projetar páginas web em conformidade com as standards reduz o tempo de desenvolvimento e de manutenção. Correções e soluções de problemas são mais fáceis, porque o código segue as standards. Não há preocupações com codificação e manutenção de várias versões do mesmo código. Uma só versão do site é suficiente.

A adoção universal das standards está se tornando de primordial importância. A missão do The Web Standards Project é a de fazer da Web um lugar melhor para desenvolvedores e usuários finais, incentivando fabricantes de browsers e editores de páginas web a aderir às standards em suas aplicações. Este esforço receberá uma grandiosa ajuda quando desenvolvedores usarem as standards e insistirem em que seus geradores de códigos e dispositivos de renderização estejam em conformidade com as standards.

Nosso desejo de que as razões que apresentamos propiciem a você, desenvolvedor web, todo o incentivo para aderir as standards, e também forneçam a argumentação necessária para que você motive no seu trabalho seus colegas desenvolvedores a também aderir às standards.

Ajude a tornar realidade um sonho.

Web Standards Project Developer Education Committee:
(coordenação), Kynn Bartlett, Gail T. Cohen, Jens Edlund, Nick Finck, Tomas Fjetland, Peter Fleck, Markus Gut, Holger Maier, Julian Missig, Laura Mollett, Randy Piatt, Lewis A. Shadoff, Juergen Steinwender, Bart Szyszka, Matthew Thomas, Dane Weber

Atualizado em 27 de fevereiro de 2002 por Molly E. Holzschlag e Shirley E. Kaiser do WaSP LEARN Committee

Traduzido em 08 de janeiro de 2005 por: Mauricio Samy Silva (http://www.maujor.com/)