Web Standards

Preview:

Citation preview

Desenvolvimento Web com o Uso de Padrões:

Tecnologias e Tendências

Monografia Final de CursoMonografia Final de Curso

Ciência da Computação - UFJFCiência da Computação - UFJFRenata Tibiriçá dos ReisRenata Tibiriçá dos Reis

AgendaDefiniçãoIntrodução

O ConsórcioGuerra dos NavegadoresThe Web Standards ProjectMudança de Paradigma

Porque utilizar padrões WebCaracterísticas e VantagensDificuldadesTableless vs Web

Standards

Desenvolvimento com padrõesHTML SemânticoXHTMLCSSComportamentoPadrões e os navegadores

AcessibilidadeAplicações e Exemplos

Estudo de CasoOutros exemplos de sucesso

ConclusãoTrabalhos Futuros

Definição

“Padrões Web são um conjunto de normas, diretrizes, recomendações, notas, artigos, tutoriais e

afins de caráter técnico, produzidos pelo W3C e destinados a orientar fabricantes, desenvolvedores e projetistas para o uso de práticas que possibilitem

a criação de uma Web acessível a todos, independentemente dos dispositivos usados ou de

suas necessidades especiais.”W3C

Introdução

19901990

Criação da World Wide Web, para aperfeiçoar a comunicação no

CERN.

Berners-Lee criou o HTML para formatar os documentos que seriam distribuídos em rede.

Tim Berners-LeeTim Berners-LeeCriador da WebCriador da Web

Introdução

Idéia original da WebIdéia original da Web

A existência de um ambiente onde pessoas conseguissem

trocar informações livremente, e que essas informações

pudessem ser acessadas de diversos dispositivos.

O Consórcio

Organização destinada a desenvolver e padronizar tecnologias para a construção de websites, de forma

que a comunicação seja feita de forma compreensível.

A Guerra dos Navegadores

• Guerra dos NavegadoresGuerra dos Navegadores• Necessidade de tornar as páginas HTML visualmente mais atrativas

ao usuário. – Tabelas para organizar visualmente uma página– textos em movimento– gifs animados– sons embutidos– efeitos com JavaScript e Flash

XX

Web Standards Project

Jeffrey Zeldman

Web Standards Project

Mudança de Paradigma

<div id="container">   <div id="header" title="sitename">      <div id="skipmenu"><a href="#content" title="skipmenu">Ir para Conteúdo</a></div>      <h1>Nome do Site</h1>   </div>    <div id="mainnav">      <ul>         <li><a href="#" accesskey="1" title="Help shortcut key = alt + 1">Seção 1</a></li>         <li><a href="#" accesskey="2" title="Help shortcut key = alt + 2">Seção 2</a></li>         <li><a href="#" accesskey="3" title="Help shortcut key = alt + 3">Seção 3</a></li>         <li><a href="#" accesskey="4" title="Help shortcut key = alt + 4">Seção 4</a></li>      </ul>   </div>    <div id="menu">      <h2>Seção 1</h2>      <ul>         <li><a href="#">Sub-seção a</a></li>         <li><a href="#">Sub-seção b</a></li>         <li><a href="#">Sub-seção c</a></li>         <li><a href="#">Sub-seção d</a></li>         <li><a href="#">Sub-seção e</a></li>      </ul>      <h3>Tamanho do texto</h3>      <ul>         <li><a href="javascript:changeFontsize('','5');" >Aumentar</a></li>         <li><a href="javascript:changeFontsize('','-5')">Diminuir</a></li>      </ul>   </div>   <div id="contents">      <a name="content"></a><h2>Cabeçalhos</h2>      <p>         <img class="imagefloat" src="flower.jpg" alt="Orange flower" />         Lorem ipsum dolor sit amet, consectetuer...      </p>      <p>         Lorem ipsum dolor sit amet, consectetuer...      </p>   </div>   <div id="footer">      Copyright © 2007   </div></div>

Por que utilizar padrões Web

« Torna-se isso »

HTMLCSS

SCRIPTS

MARCAÇÃOAPRESENTAÇÃOCOMPORTAMENTO

Separação de conteúdo e apresentação, para tornar o código limpo e correto

Por que utilizar padrões Web

Maior velocidade no carregamento da página

Por que utilizar padrões Web

Compatibilidade com as leis e diretrizes de acessibilidade

Por que utilizar padrões Web

Funcionais em vários navegadores e plataformas, sem a dificuldade e a despesa de criar versões separadas

Por que utilizar padrões Web

Melhor posicionamento em mecanismos de busca

O maior cliente cego do mundo:O maior cliente cego do mundo:

Dificuldades na utilização

Editores WYSIWYGEditores WYSIWYG

AprendizadoAprendizado

NavegadoresNavegadores

Tableless vs Web Standards

Tableless (“sem tabelas”)

Termo em oposição a visão de desenvolvimento que utiliza tabelastabelas ao invés de CSSCSS para controlar o

leiaute. Nome muito popular no BrasilBrasil.

Não é sinônimoNão é sinônimo de seguir os padrões Web.

Tableless vs Web Standards

Web Standards

Termo mais amplo que se refere aos padrões Web como um padrões Web como um todotodo e não somente às linguagens de marcação e CSS.

Envolve a utilização das diferentes tecnologias que constituem a Web, garantindo a interoperabilidadeinteroperabilidade da própria Web como um todo (XML, HTML, XHTML, CSS, WAI, RDF,

HTTP, MWI).

ApresentaçãoOnde são tratados os aspectos aspectos

visuaisvisuais que não podem ser considerados informação textual

CSSCSS

Comportamento Criação de comportamentos e efeitos efeitos sofisticadossofisticados que funcionem através

de várias plataformas e navegadoresScriptsScripts

EstruturaPartes principais do

documento, semânticasemântica e tagsHTML, XHTMLHTML, XHTML

Desenvolvimento com Padrões Web

Estrutura - HTML Semântico

Semântica: estudo do significado das palavras e de sua relação de significação nos sinais lingüísticos.

Relacionado à padrões Web: estudo dos sinais (tags), sua relação uns com os outros e sua aplicabilidade.

Estrutura - HTML Semântico

Erros comuns:Erros comuns:• tag <table> para layout;• tag <br /> para simular parágrafos ao invés de <p>; • Não utilizar headings (h1, h2, h3 etc.) para títulos; • outra tag qualquer para listas, ao invés de <ul> (lista sem ordem)

ou <ol> (lista ordenada) seguido de <li> (lista);• Não usar <label> (rótulo) para declarar o nome do campo em

formulários de inserção de dados;• Utilizar elementos de estilização como <i> e <b>, ao invés de

elementos de expressão como <em> e <strong> para texto enfático (itálico) e texto fortemente enfático (negrito).

Estrutura - XHTML

XHTML 1.0: reformulação do HTML 4 em XML 1.0

Desenvolvido para substituir o HTML

Estrutura - XHTML

• Documentos XHTML começam com elementos que informam aos navegadores como interpretá-los e aos serviços de validação como testá-los

1. DOCTYPE (“Document Type”):

• Transitional<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

• Strict<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

• Frameset<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

Estrutura - XHTML

2. Declaração de namespace XHTML:<html xmlns=http://www.w3.org/1999/xhtml xml:lang="pt-br" lang="pt-br">

3. Tag META Content: <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1" />

4. Meta tags:<meta name="description" content="Portal da UFJF" />

<meta name="keywords" content="universidade, universidade federal, universidade federal de juiz de fora, juiz de fora, jf, web standards" />

<meta name="author" content="Renata Tibiriçá, Crystiam Pereira, Leandro Neumann, Tarcísio Lima " /> 

Estrutura - XHTML

• XHTML x HTML– Todos os elementos devem ser escritos em letras

minúsculas e estar convenientemente aninhados;– Os documentos devem ser bem formados (devem estar

corretamente aninhados dentro do elemento raiz <html>);– O uso de tags de fechamento é obrigatório;– Elementos vazios devem ser fechados;– Os atributos também devem ser escritos em minúscula e

seus valores devem estar entre "aspas";

Apresentação - CSS

““Um mecanismo simples para Um mecanismo simples para

acrescentar estilo a documentos Web”acrescentar estilo a documentos Web”

(W3C, 1999)(W3C, 1999)

Apresentação - CSS

• Declarações de estilo podem ser incluídas ao documento XHTML de 4 formas:– Inline:

<div style="background:#FFF; color:#000;">Exemplo</div>

– Incorporado:<head>

<style type="text/css">

<!-- div {

background: #FFF;

color: #000;

}

-->

</style>

</head>

Apresentação - CSS

– Externo:<head>

<link rel="stylesheet" href="estilo.css" type="text/css" media="screen" />

</head>

– Importado:<style type="text=css">

<!-- @import url(estilo_importado.css); -->

</style>

Apresentação - CSS

• Declarações inline e embutidas devem ser evitadas ao máximo– Retiram as vantagens da flexibilidade do CSS e da

separação entre conteúdo e apresentação.

• Recomendado que a apresentação seja definida via arquivos externos– Manutenção e alterações futuras ficam facilitadas– Possibilita a utilização do mecanismo de cache do navegador

Apresentação - CSS

CSS também permite que seja definido o tipo de mídia onde as regras

serão aplicadas (media types)

<link rel="stylesheet" href="nav.css" type="text/css" media="screen" />

<link rel="stylesheet" href="print.css" type="text/css" media="print" />

<link rel="stylesheet" href="handheld.css" type="text/css" media="handheld" />

Apresentação - CSS

• Vantagens:– Menor tempo de download da página; – Redução da largura de banda do servidor: economia de

dinheiro;– Redução do tempo de design e desenvolvimento;– Aumento da interoperabilidade aderindo aos padrões Web;– Aumento da acessibilidade removendo alguns, vários ou

todos os elementos de apresentação da marcação.

Comportamento

• DOM: interface independente de navegador e plataforma, que permite que programas e scripts acessem e atualizem dinamicamente o conteúdo, a estrutura e o estilo de documentos.

• O W3C recomenda que aspectos de tratamento de eventos e ações automáticas devem ser incluídas através do JavaScriptJavaScript.

Comportamento

• Algumas observações na inclusão de scripts:

– O JavaScript deve ser tratado como um incrementoincremento, não como uma funcionalidade segura.

– Evitar incluir JavaScript diretamente nas tags do XHTML, o mantendo separado em arquivos externos a serem referenciados pela página (scripts não-obstrutivosscripts não-obstrutivos).

Padrões Web e os navegadores

Suporte dos navegadores aos padrões Web: grande avanço com o fim da Guerra dos Navegadores.

Porém nem todos em uso atualmente possuem o nível de suporte necessário.

Padrões Web e os navegadores

• Navegadores com melhor suporte à CSS:– Firefox (e outros baseados em Gecko, como Mozilla, Camino,

Netscape6+)– Opera– Safari (e outros baseados em WebCore).

http://www.webdevout.net/browser-support

Acessibilidade na Web

O que é acessibilidade? Quem precisa?O que é acessibilidade? Quem precisa?

Uma Web projetada de modo que pessoas portadoras de necessidades especiais possam perceber, entender, navegar e interagir de uma maneira

efetiva com a Web, bem como criar e contribuir com conteúdos para a Web. (W3C, 2005)

Acessibilidade na Web

• Deficiências visuais, físicas, auditivas, de fala, cognitivas e neurológicas;

• Usuários impossibilitados de usar o mouse ou o teclado, com dificuldades de leitura e/ou interpretação de textos;

• Navegadores antigos, sem suporte a cor, de texto, sem suporte a CSS ou scripts, ou com estes recursos desabilitados;

• Diversidade de sistemas operacionais; • Dispositivos de navegação portáteis ou com limitações de memória

e/ou processamento; • Diversidade de resoluções de tela • Conexões lentas; • Mecanismos de Busca (“usuários cegos”).

Acessibilidade na Web

Acessibilidade e padrões Ambos asseguram que o trabalho será útil e disponível ao

maior número possível de usuários, seja qual for a necessidade.

WAI (Web Accessibility Initiative): padrão internacional desenvolvido pelo W3C com o objetivo de ajudar os

construtores Web em estratégias para alcançar a acessibilidade.

Acessibilidade – leis e diretrizes

WAI

Dois eixos: assegurar uma transformação harmoniosa e tornar o conteúdo

compreensível e navegável

Três níveis de prioridade com base no respectivo impacto em termos de

acessibilidade.

Acessibilidade – leis e diretrizes

Outras leis:

U.S. Section 508 (EUA)Lei Federal de Acessibilidade (Brasil)

Algumas dessas leis nacionais obedecem à Prioridade 1 da WAI.

Acessibilidade – componentes

• A acessibilidade na Web depende:– do relacionamento entre diferentes componentes– do aperfeiçoamento de componentes específicos

Acessibilidade – componentes

• O W3C-WAI desenvolve guias e diretrizes para estes componentes:– ATAG (Authoring Tool Accessibility Guidelines )– UAAG (User Agent Accessibility Guidelines )– WCAG (Web Content Accessibility Guidelines )

Construindo uma Web acessível

• Adaptar sites existentes pode demandar trabalho e esforço.

• Alguns fatores essenciais para esta adaptação são:– Conhecer o tipo de conteúdo– Seguir os padrões Web– Seguir as diretrizes WCAG– Escrever texto preciso e conciso (escrever da forma mais

simples possível)

Construindo uma Web acessível

• Imagens:– Sempre utilizar conteúdo alternativo através do atributo

“alt”.

– Links Textuais:<a href="link.htm" title="Descrição do Link">Link</a>

• Identificação do campos dos formulários:<label for="Nome">Nome: </label><input type="Text" name="Nome">

Construindo uma Web acessível

• Testar CSS desabilitado;• Testar em vários navegadores;• Garantir que os links funcionem mesmo quando o

JavaScript estiver desabilitado;• Tabelas somente para dados, identificando os

cabeçalhos.

Avaliando a acessibilidade

Técnicas simples, tais como alterar as 'setagens' do navegador (resolução, tamanhos de fontes etc.)

podem determinar conformidades com alguns itens de acessibilidade.

A validação da acessibilidade também deve ser feita por meio de ferramentas automáticas e da revisão

direta.

Avaliando a acessibilidade

Os métodos automáticos são geralmente rápidos, mas não são capazes de identificar todas as

nuances da acessibilidade.

A avaliação humana pode ajudar a garantir a clareza da linguagem e a facilidade da navegação.

Estudo de Caso

Protótipo do novo portal da UFJF

Objetivos a serem alcançadosTorná-lo não somente mais acessível e vantajoso a

todo tipo de usuário, como também mais interativo.

Estudo de Caso

Objetivos do desenvolvimento• Conteúdo, funções básicas e leiaute devem estar disponíveis

para qualquer navegador ou dispositivo;• Marcação validada em “XHTML 1.0 Transitional”;• Separação entre estrutura e apresentação e XHML semântico;• CSS validado, compacto e logicamente organizado;• Website uniformemente acessível (testado em relação à WCAG

1.0 – Prioridades 1 e 2);• Aparência leve e amigável, sem desperdiçar visitantes e largura

de banda em marcações grandes, scripts complexos ou imagens desnecessárias.

Estudo de Caso: projetando o conteúdo

1. Cabeçalho do documento XHTML, contendo o doctype, o título e as meta-tags.

2. Divisão da estrutura em blocos de significância:• topo, menu, barra de busca e tempo, barra de acesso aos

hotsites da instituição, conteúdo central (coluna de notícias e coluna de destaques e editais) e rodapé.

Estudo de Caso: projetando o conteúdo

• Princípios seguidos para não se perder a semântica:– Imagens relevantes: <img> ;

– Imagens que fazem parte da estruturavisual: via CSS por Image-replacement;

Estudo de Caso: projetando o conteúdo

• Princípios seguidos para não se perder a semântica:– Títulos e subtítulos: <h1>, <h2> etc;

– Menus: listas não-ordenadas.

Estudo de Caso: apresentação visual

• Feita por folhas de estilo CSS externas

• Divisão da apresentação:– Estrutura do leiaute: barra institucional do governo, topo,

centro com 3 colunas (menu, notícias e barra de hotlinks) e rodapé;

– Posicionamentos (margens, espaçamentos e alinhamentos);– Estilização do texto (fontes, cores, tamanhos, links) e do painel

rotativo de notícias.

Estudo de Caso: apresentação visual

• CSS Media Types:– Screen: para navegadores comuns;– Print: para impressão;

Estudo de Caso: comportamento

• Desenvolvimento de um módulo de avaliação do protótipo;

• Para possibilitar esta interação sem perder a acessibilidade e a usabilidade, foi utilizada a biblioteca JavaScript Greybox (leve e que utiliza CSS e JavaScript não-obstrutivo).

Avaliando os resultados

• Testes executados:– Resolução de tela:

• Resultado: adotado padrão de 800x600 pixels de forma a evitar barra horizontal

– Testes de navegadores: • Navegadores: IE6 e 7, Firefox 1.5 e 2.0, Safari 3, Opera 9.• Resultado: poucas diferenças foram apresentadas.• Problemas: de posicionamento com a barra da previsão do

tempo no Internet Explorer 6. • Solução: mudanças no projeto original de leiaute.

Avaliando os resultados

– Navegadores textuais e sem suporte à CSS: • Navegador textual utilizado: Lynx 2.8.5• Resultados: em ambos os casos, a organização da página

foi mantida, com todas as seções e imagens indicadas de forma acessível;

Avaliando os resultados

– Testes de validação: • Marcação: “Valid XHTML 1.0 Transitional”• CSS: 3 erros, devido à presença de hacks CSS para uma

correta apresentação do leiaute no IE6.• Acessibilidade: 2 erros retornados pelo validador DaSilva

nas prioridades 1 e 2 da WAI, devido somente à presença de falhas neste validador.

Avaliando os resultados

– Teste comparativo de desempenho: • Website atual da UFJF e protótipo do novo portal.• Resultado: velocidade de carregamento do portal um pouco

maior e tamanho das páginas aproximadamente 50% menor.

Outros exemplos

• Globo.com• Terra• UOL• iMasters: redução de mais de 50% de gasto de

largura de banda do servidor • ESPN: redução de 61 terabytes por mês na largura

de banda

Conclusão

Padrões Web: não uma alternativa e sim uma necessidade.

Produzir websites acessíveis, com menor tempo de carregamento, maior facilidade de manutenção e maior

visibilidade por parte dos mecanismos de busca, e permitir que o usuário navegue sem restrições de ferramentas,

tecnologia, plataforma, navegador ou outro fator limitador qualquer, possibilita uma melhor experiência tanto para

usuários quanto para desenvolvedores.

Conclusão

Seguir os padrões Web é colaborar com uma Web Seguir os padrões Web é colaborar com uma Web mais mais semânticasemântica. É garantir acesso universal e . É garantir acesso universal e irrestrito ao seu conteúdo, contribuindo para a irrestrito ao seu conteúdo, contribuindo para a

evolução da Web atual para uma Web da segunda evolução da Web atual para uma Web da segunda geração (geração (Web 2.0 e Web SemânticaWeb 2.0 e Web Semântica).).

Trabalhos Futuros

Usabilidade e Acessibilidade na WebUsabilidade e Acessibilidade na Web

Web 2.0 e Web Semântica: Web 2.0 e Web Semântica: qual o verdadeiro futuro da Webqual o verdadeiro futuro da Web

MicroformatosMicroformatos

Padrões Web e os dispositivos móveisPadrões Web e os dispositivos móveis

Recommended