Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pretendo fazer aqui um pequeno guia para quem está querendo iniciar com o HTML 5.
Considerações iniciais sobre o HTML 5
=========================
A sintaxe
======
A sintaxe em geral não apresenta grandes mudanças, no entanto existem muitas tags novas, que veremos mais adiante. Lembrando que documentos HTML 5 devem ser servidos com o mime-type text/html, mas podem ser escritos como XML (compatível com XHTML 1), ocasião em que devem ser servidos com mime-type adequado.
O DOCTYPE para documentos HTML 5 não necessita mais de um DTD, sendo assim, o doctype fica da seguinte forma:
<!DOCTYPE html>
Tags novas
=======
É aqui que a coisa começa a ficar interessante, vamos conhecer algumas das novas tags que o HTML 5 traz, e ver obviamente para que servem:
<section> - Representa uma seção de uma página ou aplicação. Digamos que eu tenha uma página com uma seção de novidades e uma outra seção de comentários, cada uma dessas seções seria englobada por uma tag <section>. Mostrarei alguns exemplos mais adiante.
<article> - Representa um post de blog, um artigo de um jornal, ou qualquer informação similar
<aside> - Representa um conteúdo que está relacionado de alguma forma com o resto da página, como uma sidebar por exemplo. Note que esta tag não se refere à posição do elemento, mas sim ao seu significado dentro do contexto.
<header> - Representa o cabeçalho de uma seção. O topo de um site, por exemplo.
<footer> - Representa o rodapé de uma seção.
<nav> - Representa qualquer tipo de navegação. Um menu, uma lista de ações, qualquer coisa que represente navegação.
<dialog> - Engloba um conteúdo de conversasão, um diálogo entre duas pessoas, por exemplo. Dentro dela pode-se usar uma lista de definições <dt> e <dd> para representar, respectivamente, o sujeito que está falando e a fala em si.
<figure> - Usada para englobar uma informação a algum conteúdo multimídia, como uma foto, por exemplo. Dentro dela coloque uma tag de multimídia, como <img>, e uma tag <legend> contendo a informação a ser acrescentada.
<audio> - Usada para representar áudio. Esta tag recebe, entre outros, o parâmetro src, com o arquivo de áudio. Pode ser usada em conjunto com tags <source> caso se tenha mais de um arquivo de audio.
<video> - Da mesma forma que <audio>, porém representa um vídeo.
<mark> - Representa algum texto marcado
<meter> - Representa uma medida. Pode ser uma medida de graus, uma medida de espaço em disco, qualquer coisa do tipo.
<progress> - Representa o progresso de uma tarefa específica, um download de arquivo, uma requisição assíncrona, etc.
<time> - Representa uma data e/ou hora
<canvas> - Esta tag é muito poderosa, pode ser usada em conjunto com javascript para gerar conteúdo dinâmico gráfico, como gráficos ou até mesmo jogos.
<command> - Representa um comando que o usuário pode executar.
<datagrid> - Usada para representar árvores, listas, ou dados tabulares.
<details> - Representa informações ou controles adicionais.
<datalist> - Em conjunto com o novo tipo de input "list", é usada para fazer caixas de seleção (comboboxes).
<keygen> - Representa um controle que gera valores do tipo chave-valor.
<bb> - Representa um comando do user agent que o usuário pode executar, tais como voltar, avançar, parar, etc.
<output> - Representa qualquer tipo de resultado. O resultado de um cálculo, por exemplo.
Novidades na tag input
===============
A tag input agora traz algumas novidades para seu atributo "type", tais como: datetime, datetime-local, date, month, week, time, number, range, email, url, search e color. A interface que aparecerá para o usuário nestas tags vai depender do sistema operacional e do browser do usuário.
Novos atributos
==========
Com a chegada do HTML 5, além de muitas tags novas, temos também muitos atributos novos em tags que já existiam antes, vou listar alguns:
Novos atributos globais
===============
Atributos globais são aqueles que todos os elementos possuem. Entre os novos atributos globais do HTML 5, temos:
O HTML 5 também mudou a forma como os eventos são identificados, bem como introduziu novos. Eventos agora são apresentados na forma onevent-nomedoevento. Exemplo: onevent-click.
****
Elementos eliminados
==============
Alguns elementos foram totalmente descartados no HTML, alguns por serem meramente estéticos, e outros por oferecerem problemas de usabilidade ou acessibilidade: basefont,big,center,font,s,strike,tt,u,frame,frameset,noframes, entre outros. Eles ainda serão suportados pelos browsers para manter retrocompatibilidade, mas não devem mais ser usados.
Suporte dos browsers
==============
Atualmente, pelo que sei, o browser que tem melhor suporte as novidades do HTML 5 é o Safari 4 da Apple, que ainda não implementa muita coisa. Mas algumas das tags tais como video e audio já funcionam. Nos meus testes, os novos tipos de input não funcionaram. O Firefox tem bom suporte as tags mais comuns, como header,section,footer,article,aside, entre outras. O Internet Explorer 8 está começando a suportar também. No entanto, para os browsers mais velhos, tais como IE7 e IE6, você pode utilizar um script que troca estas tags por tags que eles entendem.
Onde usar?
=======
NÃO USE HTML 5 EM ALGUM PROJETO DE CLIENTE, SÉRIO! O HTML 5 é experimental e só deve ser usado por você em seus projetos pessoais, tal como fiz no Screencaster, lançando seu último layout implementado com HTML 5.
Só isso?
=====
Certo, para aqueles que ficaram com "gostinho de quero-mais", segue um exemplo bem simples de página implementada com HTML 5, só para vocês terem uma idéia da estrutura:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>HTML 5 Things</title>
</head>
<body id="testpage">
<section id="main">
<header>
<h1>This is the header of the main section</h1>
<nav>
<ul>
<li><a href="">Navigation link 1</a></li>
<li><a href="">Navigation link 2</a></li>
<li><a href="">Navigation link 3</a></li>
<li><a href="">Navigation link 4</a></li>
</ul>
</nav>
</header>
<div id="something">
<article>
<h2>This is an article</h2>
<p>This is a paragraph inside of an article.</p>
</article>
<article>
<h2>This is another article</h2>
<small>Posted at <time>09:30am</time></small>
<p>This is another paragraph inside of another article.</p>
</article>
<h3>Here's a dialog:</h3>
<dialog>
<dt>Somebody</dt>
<dd>Said something</dd>
<dt>Other person</dt>
<dd>Said something</dd>
<dt>Somebody</dt>
<dd>Said something</dd>
<dt>Other person</dt>
<dd>Said something</dd>
<dt>Somebody</dt>
<dd>Said something</dd>
<dt>Other person</dt>
<dd>Said something</dd>
</dialog>
<meter>You're using 80mb from your 100mb disk space.</meter>
</div>
<footer>
<p>This is the footer.</p>
</footer>
</section>
</body>
</html>
Finalizando
=======
Eu fiz este artigo me baseando na própria documentação do W3C, que, diga-se de passagem, também está pela metade ainda. Qualquer dúvida com relação ao HTML 5 postem, que eu e os outros moderadores/membros teremos o maior prazer em ajudar.
Carregando comentários...