HTML 5 – Novos componentes

Jan 03
2012

Neste artigo vamos analisar alguns dos vários componentes introduzidos pelo HTML 5. Posso afirmar que há grandes novidades para a criação dos nossos formulários. Agora temos novos componentes, atributos,várias mudanças semânticas e também adição de dois tipos de form actions (update e delete).

Obs: para a grande maioria dos exemplos abaixoutilizei a última versão do navegador Opera.

 

Componentes fora do formulário

 

Anteriormente, nossos componentes tinham que estar obrigatoriamente contidos dentro das tags do nosso  formulário para que pudessem ser submetidos para o servidor.

Agora, isto não é mais necessário!

Podemos ter nossos componentes em qualquer lugar da página apenas informando a qual formulário ele pertence. Observe o trecho abaixo:


<form id=myForm>

<input type=text>

...

</form>

<textarea form=myForm></textarea>

Podemos observar que a área de texto (textarea) não está dentro da nossa tag form, ela está fora dela e através do atributo form indicamos a qual formulário o componente pertence.

 

Novos componentes

 

Com a nova versão do HTML novos componentes foram introduzidos, tornando ainda mais prazeroso trabalhar com a linguagem.

Chega de ter que recorrer à biblioteca de terceiros (JQuery UI e outras) para ter que usar um calendário ou uma slide bar.

Agora temos a possibilidade de usar os próprios recursos nativos sem ter que necessitar de biblioteca de terceiros para suprir a falta de componentes.

Vale lembrar que a especificação não define como cada navegador ou dispositivo apresentará cada componente. Portanto, podemos ter diferentes aparências para um mesmo componente dependendo do fabricante ou dispositivo.

 

Email

 

<body>
   <input type=email>
</body>

Viram como é fácil a sua utilização?

A tag acima diz ao browser não submeter o formulário se o usuário não entrar com um formato válido de e-mail (claro que não é checado se o e-mail existe!). Mas, a especificação não define como será exibida a mensagem de erro para o usuário.

Além disso,  é importante consultar as regras de validação no site da W3C.

Caso as regras de validação não atendam a sua necessidade, fique tranquilo! É possível customizá-la, o que faremos em artigos mais adiante.

Podemos visualizar como o Chrome e o Opera se comportam quando entramos com um e-mail com formato incorreto:

Email - Chrome

Email - Opera

Data, hora, mês e semana

 


<body>
 <input type=datetime>
 <input type=date>
 <input type=time>
 <input type=month>
 <input type=week>
</body>

As tags acima são auto-explicativas e tornam a tarefa de trabalhar com datas/horas muito mais fácil, sem necessitar de bibliotecas de terceiros.

Obseve abaixo o efeito no navegador Opera:

Datetime - Opera

 

 

 

 

 

 

 

 

 

 

 

 

 

Podemos ver que o navegador forneceu nativamente um calendário, facilitando bastante o nosso trabalho.

 

Number


<body>
 <input type=number>
</body>

 

Permite somente a entrada de valores numéricos. Veja abaixo o efeito gerado por esta tag:

Number - Opera

Range

<body>
 <input type=range>
 </body>
 

 

O componente range é um dos meus favoritos e permite que o usuário selecione através de um slider valores dentro de aguns limites possíveis. Observe o efeito nos nossos amigos Chrome e Opera:

Range - ChromeRange - Opera

Posteriormente, faremos um exemplo mais elaborado utilizando os novos atribuos max, min e step =)

 

Search

<body>
 <input type=search>
</body>

 

Especifica um campo de busca. Com a ajuda do navegador, pode ser fornecido ao usuário um histórico das páginas visitadas recentemente. A diferença entre este campo e um campo de texto é apenas semântica.

Search - Chrome

 

 

 

Tel

<body>
 <input type=tel>
</body>

 

 

Esta tag espera um telephone como entrada, porém, não há nenhuma validação especial definida pela especificação. Mas, com o HTML5 podemos adicionar aos nossos componentes regras de validação.

Assim como a tag search, a diferença é apenas semântica. Alguns dispositivos podem facilitar a vida do usuário apenas exibindo o teclado numérico quando o foco estiver neste campo.

Tel - Opera

 

 

 

Color


<body>

<input type=color>

</body>

 

Permite que os usuários entrem com uma cor válida. Podemos ver abaixo que o Opera exibe uma paleta de cores com algumas opções:

Color - Opera

 

 

 

 

 

Para concluir, vale lembrar que muitos navegadores não possuem suporte à estas tags e que muita coisa ainda está por vir, mas, vimos o quanto o HTML 5 facilitará a nossa vida =) No próximo artigo irei abordar alguns novos atributos para que possamos fazer alguns exemplos mais elaborados. Até a próxima!

 

Consulte a série de artigos sobre HTML5: http://robsonramos.com/index.php/category/html-5/

HTML5 – Introdução

Dec 31
2011

HTML 5

 

Recentemente decidi focar meus estudos em HTML 5 e tentar entender o que mudou e o motivo pelo qual esta tecnologia esta gerando tanto “barulho”.

 

História

 

A última versão até então era o XHTML 1.0, que tentava aproximar o HTML com XML. Foram desenvolvidas duas versões:

  • Transitional: Não tão rigorosa, tinha a finalidade de ajudar as pessoas a moverem seus sites para esta nova especificação.
  • Strict: Mais rigorosa, pois, na sua validação mais regras eram aplicadas.

 

Após isso, os trabalhos se reiniciaram visando a versão 2.0 do XHTML, porém, esta nova especificação propunha mais alterações na linguagem, o que quebraria a compatibilidade com as versões anteriores. Então, um pequeno grupo, que trabalha(va) para empresa Opera, e que não estava contente com a união com o XML começou a trabalhar em uma nova especificação do HTML sem quebrar a compatibilidade das versões anteriores. Com isso, o grupo aumentou de tamanho, ganhando a adesão de membros da Mozilla (liderados por Ian Hickson). Assim, este grupo se auto-intitulou WHATWG (Web Hypertext Application Technology Working Group, www.whatwg.org).

Em 2006, a W3C reconheceu que talvez tenha sido otimista demais em esperar que todos mudassem para algo similar ao XML e quebrar a compatibilidade existente. Então, foi decidido usar a especificação que estava sendo desenvolvida pelo WHATWG como a nova especificação do HTML.

Assim, o processo de definição da nova especificação foi aberto, qualquer um poderia contribuir e dar sugestões bastando enviar e-mails ou participar da lista de discussão do WHATWG.

 

A especificação e novas idéias têm sido desenvolvidas com uma velocidade muito grande e, portanto, o HTML 5 tem grande chance de se tornar um padrão de fato. Um número muito grande de empresas têm apoiado o projeto e os fabricantes de browsers (inclusive o IE da Microsoft) se comprometeram a implementar as especificações numa colaboração nunca antes vista.

 

Estrutura básica

 

Analise o trecho abaixo:

 


<!doctype html>

<html lang=en>

<head>

<meta charset=utf-8>

<title>HTML 5</title>

</head>

<body>

<p>Um parágrafo qualquer...</p>

</body>

</html>

 

A primeira coisa que podemos notar é que o doctype é muito simples, nada de urls nem número de versão.

Na tag html não é mais necessário usar as aspas (repare a definição da lang). Mas, quando houver espaço nos valores, será necessário utilizá-las.

 

Na quarta linha é definida a tag meta e o encoding da página (lembre-se como era definida esta tag antes: <meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8”>.). Pelo que eu tenho lido, não definir o enconding tem gerado um erro estranho em alguns navegadores.

 

Obs: Apesar das tags html e body serem opcionais, decidi incluí-las neste exemplo.

 

Novos elementos

 

Em 2004, Ian Hickson utilizou o Google Index analisou uma lista de sites e observou como eles estavam estruturados. Basicamente, haviam as mesmas classes de elementos nos sites (por exemplo: footer, menu, text, content, title, main, clear, search, nav, logo). Com base nisso, você perceberá que muitos elementos foram criados com estes nomes, com a finalidade de obter uma melhor semântica nas nossas páginas.

 

Sendo assim, ao invés de criarmos div’s genéricas da seguinte forma:

<div class=”header”>

<div class=”nav”>

<div class=”content”>

<div class=”footer” >

 

Passaremos a usar elementos que definirão de uma forma mais inteligente o que conteúdo das nossas páginas, por exemplo:

 

<header></header>

<nav></nav>

<footer></ footer >

 

 

 

Bom, esta é uma introdução MUITO básica sobre o que é o HTML 5.

Por hoje é só, mas, vou continuar postando sobre este assunto em breve!

Visit Our Friends!

A few highly recommended friends...

Pages List

General info about this blog...