Tableless - Desenvolvimento inteligente com Padrões Web

23/09/2010
HTML5

Sections: seções do HTML5 – Parte 1

O site é dividido em seções. Cada seção tem seu significado e carrega informações de diversos assuntos. Os elementos do seção do HTML5 separam cada um desses elementos.

Por


A estrutura de um site é dividida em diversas seções. Cada seção representa uma fatia do layout e também representa um grupo de conteúdo. Cada um destes grupos tem seu assunto específico. Nas minhas aulas eu costumava apresentar estas seções como seções mestres ou seções principais. Normalmente para descrever em HTML estas seções, usávamos a tag

1
div

. O elemento

1
div

é um elemento genérico que serve para criar DIVISÕES. Estas divisões não tinham significado semântico nenhum, não levavam nenhum tipo de informação “extra”, mas a nível de formatação resolvia nosso problema. Nós agrupávamos o conteúdo das seções e conseguíamos distinguir cada seção nomeando os divs com CLASSES e IDs e assim formatávamos o código com CSS.

A nível de semântica ou seja, para entregar informação útil para o usuário, sistemas ou aplicações, estas seções não eram eficazes. Não havia como distinguir um cabeçalho de um rodaé. Não era possível diferenciá-los pelo nome porque cada desenvolvedor dava seu próprio nome para o elemento: alguns chamavam de header, outro cabeçalhos, outros testeira (acredite se quiser) e assim por diante. Por estes motivos que no HTML5 as seções ganharam mais significado.

Cada coisa em seu lugar

As novas seções também fazem divisões, mas além disso elas servem significado para o código. Neste novo cenário o

1
div

perdeu um pouco o foco e será utilizado em detalhes. Ele ficou bem mais genérico que antes. Essa é uma das razões que o

1
div

é coisa do passado. Abaixo veja uma breve descrição dos novos elementos de seção do HTML5:

HEADER
Define um grupo de títulos ou o cabeçalho de uma determinada seção.
FOOTER
Define o rodapé das seções ou da página.
NAV
Define um grupo ou bloco de links de navegação.
ASIDE
Define um elemento lateral que pode conter blocos de navegação (NAVs), citações e outras informações que costumamos colocar em uma sidebar.
ARTICLE
Define a área onde há um artigo, texto, redação, conteúdo e etc…
SECTION
Define um bloco ou um grupo de um assunto específico. É importante entender que a section agrupa diversos elementos que tenham relação entre si. Por exemplo, se há uma área no site que há links, conteúdo, imagens e etc de um assunto em comum, você agrupará esses elementos com uma section. Nesse caso, ele entrou no lugar daquele div que fazíamos para dividir grandes blocos de assuntos em comum.

E o div? Exemplo.

E onde entra o

1
div

? O Div servirá para agruparmos elementos dentro destes sections ou fazer outros detalhes que não precisam de significado semântico, apenas visual.
Imagine que exista uma section chamada NOTÍCIAS:

...

Dentro dessa

1
section

há 3 colunas de assuntos diversos ou randomizados que dividem as chamadas.

...
...
...

Suponha que cada uma colunas seja de um assunto diferente, por exemplo: Esporte, Política e Educação. Aí nesse caso não usaríamos

1
div

mas sim outras

1
sections

:

...
...
...

Você poderia utilizar DIVs com os IDs? Sim, claro. Mas lembre-se que o DIV é genérico, para os sistemas de busca, leitores de tela, aplicações e etc, os DIVs não indicam seções de conteúdo, mas o elemento

1
section

sim.

Há uma polêmica ainda com algumas ordens nas estruturas. No exemplo acima colocamos

1
sections

em vez de

1
divs

. Poderíamos ter colocado

1
article

dentro da

1
section

principal. Não vou entrar no que é mais certo ou no que é mais semântico porque neste contexto, ainda é subjetivo. Há alguns conceitos que iremos amadurecer durante um tempo. Contudo, temos que começar por algum lugar e claro, devemos estudar as melhores formas tanto para o projeto quanto para a semântica do código.

Você já deve ter lido isso aqui, mas lembre-se: semântica é o nome do jogo.

Por Diego Eis

Diego Eis criou o Tableless para disseminar os padrões web no Brasil. Como consultor já treinou equipes de empresas como Nokia, Globo.com, Yahoo! e iG. É palestrante e empreendedor.

http://twitter.com/diegoeis/

Veja os outros posts de

  • http://www.evertonrafael.co.cc/portfolio Rafael

    Olá Diego,
    Parabéns pelo artigo… As novas seções já estão sendo aceitas nos navegadores? O IE que é maior problema com isso, lê essas novas seções?
    Então, os navegadores e buscadores irão mudar novamente o modo de leitura dos sites… devemos começar a estruturar já com essas novas seções? E se perdemos o posicionamento nas buscas?

    Obrigado!

    Abraços.

  • Natan

    Ótima matéria.

    Imperdível pra quem tem interesse na semântica do código e em html5.

    Semântica como prioridade e, por consequência, um código limpo e perfeitamente legível.

  • Rômulo

    Queira Deus que o tempo passe rápido e todos os navegadores leiam perfeitamente o html5.

  • Renne Rocha

    Muito bom para organizar o código, mas eu posso usar essas tags? O que acontece se um navegador antigo encontrar uma página estruturada desta maneira?
    Não faz sentido eu fazer uma página organizada assim e outra não porque os navegadores um pouco mais antigos não aceitam…

  • http://www.quad.com.br Batista

    Mas nesse caso não seria article dentro da section principal? Isso semanticamente falando? Acredito também que a tag Div quase que perde significado no html5.

  • Frank

    Ótimo artigo Diego, sobre os elementos do HTML5, valeu pelas dicas acima explicadas.

  • http://www.baixetudo.tv/ geovani

    Ta demorando pra chegar neh. Aguardem…. :D

  • Pingback: Entendendo o elemento NAV do HTML5 | Boas práticas de Desenvolvimento com Padrões Web

  • http://rendarapidaagora.blogspot.com/ Carlos Rommell

    Valeu, eu tava precisando dessas informações mesmo!

  • Jonathan Melo

    Obrigado pelo site, estou começando a estudar Xhtml e CSS, e adorei o artigo, irei ler e aproveitar bem o site… Que Deus o retribua!!! Abraço fraterno!

  • http://www.ivinideigner.com.br Johnatan

    Valeu, estava precisando de algo bem explicado e simples! Não é a toa,que este site esta em html5 ! Muito Bom !

  • http://www.wallacerick.com.br Wallace Erick

    HTML5 é o que há, não se deve ter receio de usar ou dizer que ainda está cedo. Use!

  • http://www.alexsantomaltos.com Alex Santos

    Ótimo artigo para apresentação do HTML5, com certeza servirá de base para meus templates de hoje em diante! Obrigado!

  • http://jonasrosado.eti.br Jonas Rosado

    Dúvida: um aside pode estar dentro de um section, tendo nesta aside uma nav com links que serão um sub-menu correspondente as opções de ações relacionada ao conteúdo em questão?

  • http://twitter.com/diegoeis/ Diego Eis

    Claro!
    É para isso que serve o aside, nav e etc…

  • http://twitter.com/fukarezi Erik Henrique

    Acredito que o uso das divs ficarão obsoleto até porque não vejo como posso usar elas com esses novos elementos do HTML5, acredito que se por acaso use uma div dentro de uma section o código não fique semântico. Ainda vai haver muita discussões sobre e eu irei acompanhar aqui no tableless

  • Lucas Câmara

    Pois é! É bem mais fácil de diferenciar as partes do site com esses novos elementos. Com os divs as coisas ficavam um pouco confusas! Mas ainda existem muitas pessoas que usam o IE antigo, o que eu acho uma tremenda ignorância! Mas, esse é o nosso trabalho, fazer sites que funcionem em todos os navegadores.

  • estenio

    div ou section de qualquer maneira terá de ter um id ou classe para identificar a SECTION(seção) que você esta estruturando nesse ponto não muda muita coisa, agora olha pelo lado de estruturação é muito bom, pois é um padrão onde todos o usarão assim como os outro novos elementos.

    O engraçado de tudo é que quem ainda usa tabela para fazer algumas coisas, deve lembrar do conceito de THEAD TBODY E TFOOT que na minha opinião não foge muito da idéia das tags de HTML5.