Novos Elementos

Propaganda
HTML5 é uma linguagem de marcação utilizada para estruturação e apresentação do
conteúdo na web. O HTML5 é a evolução do bom e velho HTML 4.1, que não recebia
uma atualização desde 1999, e quem já trabalhou com a versão anterior não terá
problemas com a atualização, tendo em vista que o HTML5 foi projetado considerando
a compatibilidade com as antigas funcionalidades.
Novos Elementos
O HTML5 acrescenta novos elementos com o objetivo de facilitar a compreensão e
manutenção do código. Alguns desses elementos são evoluções semanticas do elemento
<div>; outros surgiram da necessidade de padronizar a maneira de se publicar conteúdo,
como acontece hoje com as imagens.
Estrutura semântica
<header> = cabeçalho da página, não confundir com o elemento
<article>
=
<section> = elemento mais geral, assim como o elemento <div>, serve para
seções
da
<aside>
=
barra
<nav>
=
navegação
do
site
<footer> = rodapé
<head>
conteúdo
delimitar
página
lateral
(menus)
Formulários
Para facilitar o desenvolvimeno em relação às validações dos sites e aplicações, o
HTML5 traz novos tipos de elementos de entrada <input> para formulários, são eles:
number, search, range, email, date, url e week.
SVG
O HTML5 traz também o suporte a imagens do tipo SVG (Scalable Vectorial Graphics)
diretamente no elemento <img>.
APIs
Tem-se suporte a novas APIs que permitem ao desenvolvedor ter acesso a
funcionalidades que a antiga versão não permitia. Como Geolocalização, Canvas,
Multimídia, Web Storage, Aplicação Offline e Microdata.
Conclusão
Estas foram algumas das características do HTML5, tecnologia que veio pra ficar e
agregar muito mais semântica às páginas web, facilitando assim a compreensão dessas
páginas tanto por humanos quanto por robôs. E embora seja muito parecido com o
HTML4.1 ele fornece um suporte ao desenvolvedor para que este possa desenvolver
aplicações cada vez mais ricas.
A estrutura semântica do HTML5
novos elementos de marcação que compõem a sua estrutura. Elementos esses que são
introduzidos a tecnologia para agregar uma maior semântica as páginas web,
aumentando assim a compreensão dos computadores sobre as páginas web.
Mas como assim aumentando a compreensão dos computadores sobre as páginas
web?
Atualmente a maioria do conteúdo publicado na web possui um significado. E é através
das marcações do HTML que o computador consegue identificá-lo. O HTML4.1 já
possuía alguns desses recursos e os leitores de tela e robôs do google, por exemplo, já
conseguiam identificar os títulos, parágrafos, links, etc. Mas existem tipos de dados que
eles não conseguiam compreender. Pensando nisso, o HTML5 fornece uma série de
ferramentas para facilitar a vida dos desenvolvedores e agregar uma maior semântica
as páginas web:

Novos elementos de mídia;

Novos elementos estruturais;

Nova semântica para a internacionalização;

Novos tipos de relação de links;

Novos atributos;

Novos tipos de formulário;

Nova sintaxe de microdados para semântica adicional.
Neste tutorial trataremos dos elementos estruturais do HTML5 e agora que o assunto já
foi introduzido, vamos aos exemplos práticos.
Mãos a obra
Pra começar, vamos definir o Doctype do HTML5, que ficou mais simples se
comparado às versões anteriores.
Antes era assim:
1<!!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Agora é assim:
1
<!DOCTYPE html>
Logo, percebe-se que o HTML5 veio para simplificar a linguagem, deixando o
desenvolvedor se preocupar com o que realmente é necessário.
Após definirmos o Doctype, nós já possuímos um documento HTML5.
Agora vamos inserir o elemento <html> na nossa página. No atributo lang definimos
qual o idioma principal da página.
Lembre-se que o atributo lang não é restrito ao elemento <html>, ele pode ser utilizado
em qualquer outro elemento para indicar o idioma do texto representado.
1
<!DOCTYPE html>
2
<html lang="pt-br">
3
4
</html>
O próximo passo é a tag <head>. Na tag <head> é onde fica toda a parte
inteligente da página. No <head> ficam os metadados. Metadados são
informações sobre a página e o conteúdo ali publicado.
Uma dessas informações é o charset, que no HTML5 ficou mais simples de
se declarar.
1<!DOCTYPE html>
2<html lang="pt-br">
3
<head>
4
<meta charset="utf-8">
5
<title>Página Teste</title>
6
<link rel="stylesheet" type="text/css" href="estilo.css">
7
8
</head>
</html>
9
Há dois tipos de links no HTML: a tag <a>, que são links que levam o usuário para
outros documentos e a tag <link>, que são links para fontes externas que serão usadas
no documento, como utilizado no exemplo anterior, onde o documento está
"carregando" o arquivo estilo.css.
Após definir o cabeçalho <head> do documento HTML é a hora de definirmos o corpo
dele através da tag <body>. Que é onde fica o conteúdo que o usuário irá ver na sua
página web.
1 <!DOCTYPE html>
2 <html lang="pt-br">
3
4
<head>
5
<meta charset="utf-8">
6
<title>Página Teste</title>
7
<link rel="stylesheet" type="text/css" href="estilo.css">
8
9
</head>
1
0
<body>
1
1
</body>
</html>
1
2
Até então não existem muitas diferenças entre as versões do HTML. Algumas
instruções foram simplificadas, mas só isso mudou.
Agora vamos criar uma estrutura semântica simples para o conteúdo da sua página web.
Começaremos pela tag <header>, que pode ser utilizada em dois contextos: marcar o
cabeçalho da página e marcar o cabeçalho de um ou vários artigos. Ou seja, pode existir
mais de uma tag <header> dentro do mesmo documento, porém não pode existir uma
tag <header> dentro de outra.
Lembre-se a tag <header> é diferente da tag <head>.
1 <!DOCTYPE html>
2 <html lang="pt-br">
3
4
5
<head>
<meta charset="utf-8">
<title>Página Teste</title>
6
7
8
9
1
<link rel="stylesheet" type="text/css" href="estilo.css">
</head>
<body>
<header>
0
1
1
1
2
</header>
</body>
1 </html>
3
1
4
Dentro da tag <header> podemos inserir, por exemplo, o título do site através da tag
<h1> e definir a navegação do site, ou seja, os menus, através da tag <nav>.
1 <!DOCTYPE html>
2 <html lang="pt-br">
3
4
5
<head>
<meta charset="utf-8">
<title>Página Teste</title>
6
7
8
9
<link rel="stylesheet" type="text/css" href="estilo.css">
</head>
<body>
<header>
1
0
<h1>Nome do site</h1>
<nav>
1
1
<ul>
1
2
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
1
3
<li><a href="#">Link 3</a></li>
</ul>
1
4
1
5
1
</nav>
</header>
</body>
6
1
7
1
8
1
9
</html>
2
0
2
1
Pronto, já temos o cabeçalho da nossa página web com navegação. Vamos agora
adicionar um artigo a essa página através da tag <article>.
Depois iremos separar o artigo em cabeçalho (através da tag <header>), seções (através
da tag <section>) e rodapé (através da tag <footer>).
Como eu já havia explicado anteriormente, a tag <header> será agora utilizada para
indicar o cabeçalho de um artigo. A tag <h1> dentro do cabeçalho do artigo irá indicar o
título do artigo.
A tag <section> define uma nova seção genérica no documento. Por exemplo, a
home de um website pode ser dividida em diversas seções: introdução ou destaque,
novidades, informação de contato e chamadas para conteúdo interno. Em nosso
exemplo ela será utilizada dentro da tag <article>. Logo, nesse contexto, ela servirá
para separar as seções do artigo.
Por fim utilizaremos a tag <footer> que assim como as tags <header> e <section>
pode ser utlizada em múltiplos contextos e no atual ela servirá para indicar o rodapé do
artigo.
1 <!DOCTYPE html>
2 <html lang="pt-br">
3
4
5
<head>
<meta charset="utf-8">
<title>Página Teste</title>
6
7
<link rel="stylesheet" type="text/css" href="estilo.css">
</head>
8
9
1
0
1
1
<body>
<header>
<h1>Nome do site</h1>
<nav>
<ul>
<li><a href="#">Link 1</a></li>
1
2
1
3
1
4
1
5
1
6
<li><a href="#">Link 2</a></li>
<li><a href="#">Link 3</a></li>
</ul>
</nav>
</header>
<article>
<header>
<h1>Título do artigo</h1>
<p>Mussum ipsum cacilds, vidis litro abertis.
1
Consetis adipiscings elitis. Pra lá , depois divoltis porris,
7
paradis. Paisis, filhis, espiritis santis. Mé faiz elementum
1 girarzis, nisi eros vermeio, in elementis mé pra quem é amistosis
8 quis leo. Manduma pindureta quium dia nois paga. Sapien in monti
palavris qui num significa nadis i pareci latim. Interessantiss
1 quisso pudia ce receita de bolis, mais bolis eu num gostis.</p>
9
2
0
2
1
2
2
2
3
2
4
2
5
2
</header>
<section>
<h2>Título da seção do artigo</h2>
<p>Suco de cevadiss, é um leite divinis, qui tem
lupuliz, matis, aguis e fermentis. Interagi no mé, cursus quis,
vehicula ac nisi. Aenean vel dui dui. Nullam leo erat, aliquet quis
tempus a, posuere ut mi. Ut scelerisque neque et turpis posuere
pulvinar pellentesque nibh ullamcorper. Pharetra in mattis molestie,
volutpat elementum justo. Aenean ut ante turpis. Pellentesque laoreet
mé vel lectus scelerisque interdum cursus velit auctor. Lorem ipsum
dolor sit amet, consectetur adipiscing elit. Etiam ac mauris lectus,
non scelerisque augue. Aenean justo massa.</p>
</section>
<footer>
<h3>Título do rodapé do artigo</h3>
6
2
7
2
8
2
9
3
0
3
1
<p>Casamentiss faiz malandris se pirulitá, Nam liber
tempor cum soluta nobis eleifend option congue nihil imperdiet doming
id quod mazim placerat facer possim assum. Lorem ipsum dolor sit
amet, consectetuer Ispecialista im mé intende tudis nuam golada,
vinho, uiski, carirí, rum da jamaikis, só num pode ser mijis.
Adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet
dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam,
quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut
aliquip ex ea commodo consequat.</p>
</footer>
3
2
</article>
</body>
3
3 </html>
3
4
3
5
Por fim, vamos adicionar a barra lateral, através da tag <aside>, e o rodapé da página
através da tag <footer>, que nesse contexto está relacionada com o rodapé da página e
não do artigo.
1 <!DOCTYPE html>
2 <html lang="pt-br">
3
4
5
<head>
<meta charset="utf-8">
<title>Página Teste</title>
6
7
8
9
1
0
<link rel="stylesheet" type="text/css" href="estilo.css">
</head>
<body>
<header>
<h1>Nome do site</h1>
1
1
<nav>
<ul>
1
2
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
1
3
1
4
1
5
<li><a href="#">Link 3</a></li>
</ul>
</nav>
</header>
<article>
1
6
1
7
1
8
1
9
2
0
2
1
<header>
<h1>Título do artigo</h1>
<p>Mussum ipsum cacilds, vidis litro abertis.
Consetis adipiscings elitis. Pra lá , depois divoltis porris,
paradis. Paisis, filhis, espiritis santis. Mé faiz elementum
girarzis, nisi eros vermeio, in elementis mé pra quem é amistosis
quis leo. Manduma pindureta quium dia nois paga. Sapien in monti
palavris qui num significa nadis i pareci latim. Interessantiss
quisso pudia ce receita de bolis, mais bolis eu num gostis.</p>
</header>
<section>
<h2>Título da seção do artigo</h2>
<p>Suco de cevadiss, é um leite divinis, qui tem
2 lupuliz, matis, aguis e fermentis. Interagi no mé, cursus quis,
2 vehicula ac nisi. Aenean vel dui dui. Nullam leo erat, aliquet quis
tempus a, posuere ut mi. Ut scelerisque neque et turpis posuere
2 pulvinar pellentesque nibh ullamcorper. Pharetra in mattis molestie,
3 volutpat elementum justo. Aenean ut ante turpis. Pellentesque laoreet
mé vel lectus scelerisque interdum cursus velit auctor. Lorem ipsum
2 dolor sit amet, consectetur adipiscing elit. Etiam ac mauris lectus,
4 non scelerisque augue. Aenean justo massa.</p>
2
5
2
6
</section>
<footer>
<h3>Título do rodapé do artigo</h3>
<p>Casamentiss faiz malandris se pirulitá, Nam liber
2 tempor cum soluta nobis eleifend option congue nihil imperdiet doming
7 id quod mazim placerat facer possim assum. Lorem ipsum dolor sit
amet, consectetuer Ispecialista im mé intende tudis nuam golada,
2 vinho, uiski, carirí, rum da jamaikis, só num pode ser mijis.
8 Adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet
2
9
3
0
dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam,
3 quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut
1 aliquip ex ea commodo consequat.</p>
3
2
</footer>
</article>
3
3
3
4
3
5
3
6
3
7
<aside>
<h3>Título da barra lateral do site</h3>
<p>Cevadis im ampola pa arma uma pindureta. Nam
varius eleifend orci, sed viverra nisl condimentum ut. Donec eget
justis enim. Atirei o pau no gatis. Viva Forevis aptent taciti
sociosqu ad litora torquent per conubia nostra, per inceptos
himenaeos. Copo furadis é disculpa de babadis, arcu quam euismod
magna, bibendum egestas augue arcu ut est. Delegadis gente finis. In
sit amet mattis porris, paradis. Paisis, filhis, espiritis santis. Mé
faiz elementum girarzis. Pellentesque viverra accumsan ipsum
elementum gravidis.</p>
</aside>
3
8
<footer>
<h3>Rodapé da página</h3>
3
9
4
0
</footer>
</body>
</html>
4
1
4
2
E, pronto, terminamos a nossa página web criada com elementos HTML5 que agregam
maior semântica ao documento.
Conclusão
Você conseguiu notar a relação entre as marcações?
Por exemplo, se uma tag <header> está dentro de uma tag <article> significa que ela
se refere ao cabeçalho do artigo, se essa mesma tag <header> não possuir como pai
uma tag <article> ou uma tag <section>, então ela se refere ao cabeçalho da página
web.
Notou que estamos agregando significados aos dados da nossa página web de modo a
torná-la mais compreensível?
Agora um leitor digital ou um robô de busca consegue identificar cada elemento da
página, e isso contribui com inúmeros fatores na computação, como a acessebilidade.
Já compreendemos como funciona a estrutura do HTML5 e como ela ajuda a agregar
semântica às páginas web, então, no próximo artigo, trabalharemos a API de
Microdados do HTML5, que auxilia a agregar mais semântica as páginas web. Assim,
os motores de busca , web crawlers e navegadores podem extrair e processar
microdados de uma página web e usá-los para proporcionar uma experiência mais rica
de navegação para os usuários.
Referências
HTML5 – Curso W3C Brasil - http://www.w3c.br/pub/Cursos/CursoHTML5/html5web.pdf
Semântica HTML5: comece agora a usá-la!
- http://imasters.com.br/desenvolvimento/web-standards/semantica-html5-comeceagora-mesmo-use
Download