Categories: html5todas

O polêmico elemento NAV da HTML5

Há três dias recebi um email do meu leitor Vagner Baggio com a seguinte pergunta:

Usar um form de busca dentro da tag nav é correto ou não aconselhável?


Para responder ao Vagner fiz o que sempre faço quando tenho uma dúvida (sim, eu constatei que tinha a mesma dúvida dele) em relação aos padrões web: consultar as especificações no site do W3C.
Lá encontrei o seguinte:

O elemento nav representa uma seção da página que linca para outras páginas ou para conteúdos dentro da mesma página.

Claríssimo certo? Elementos de formulário não são links, portanto não podem constar em elementos nav, certo?

Errado (ou não?), pois elementos de formulário, tal como uma caixa de busca lincam para outras páginas, isto é, a página com os resultados da busca.

Mas, poder-se-ia contra argumentar citando as especificações do W3C:

O elemento form representa uma coleção de elementos a ele associados, alguns deles podendo representar valores editáveis que podem ser enviados ao servidor para processamento.

E agora? Semanticamente a caixa de busca é um link ou um meio de enviar dados ao servidor para processamento?

Enfim, há vários argumentos e contra argumentos, inclusive com considerações sobre SEO, leitores de tela, acessibilidade, indexação etc. que levariam a discussão ao infinito.

A questão é polêmica e eu resolvi chamar meus leitores para discutir a respeito abrindo um post na minha página no Facebook. Era uma oportunidade de ouvir opiniões, aprender um pouco e compartilhar coletivamente conhecimentos.

Rapidamente várias opiniões, argumentos e links para matérias contra e a favor foram postadas. Fiquei empolgado com o engajamento do pessoal, e, pelo que pude constatar, realmente a especificação não é clara o suficiente para afirmar que está certo ou errado inserir uma caixa de busca dentro de um elemento nav.

Seria um argumento definitivo? constatar que:

Ian Hickson o “pai da HTML5” em seu site pessoal usa, exclusivamente, um formulário, dentro de um elemento nav, com elementos de formulário não só para navegar no site como também para mostrar/esconder conteúdos e ordenar posts.

Ou poder-se-ia perguntar?

Mostrar/esconder conteúdos e ordenar posts é considerado navegação e pode ser inserido em um elemento nav? E, clicar um link para fazer requisições dinâmicas?

E, não é só isso não, a especificação, para confundir mais ainda, prevê que o elemento nav deve ser usado somente para “bloco de navegação principal.”

O que é bloco de navegação principal em um layout ou aplicação mais complexa? Poderá haver mais de um conjunto de links a ser considerado navegação principal? Chamar uma janela modal de ajuda é navegação? é principal?

Parece-me que essa questão não se resolve consultando teorias e especificações e que não existe uma resposta definitiva para ela.

Ao longo da minha vida aprendi que as vezes a solução de um problema está dentro de nós mesmos. Em lugar de procurar na teoria confusa uma solução universal, usemos o bom senso para cada novo caso que surge.

E você? O que você tem a dizer a respeito?

Desabilitei comentários nessa matéria, mas gostaria muito de saber sua opinião, assim convido você a ir para meu post no FaceBook e comentar lá.

Maujor

Share
Published by
Maujor

Recent Posts

Teste seu conhecimento #20

Em 2006 comecei a publicar nesse blog uma série de desafios CSS que consistiam em…

7 anos ago

Teste seu conhecimento #19

Há muito tempo que eu não publico um "Teste seu conhecimento". Esta semana, revendo algumas…

9 anos ago

JavaScript bubbling e capturing

Introdução Elementos da marcação HTML podem ser aninhados uns dentro de outros, criando-se uma cadeia…

10 anos ago

HTML5 – W3C versus WHATWG

HTML5? Web universal? É comum eu me deparar com dúvidas sobre a HTML5 não só…

10 anos ago

Seria esse o futuro das imagens responsivas?

Quem é Tab Atkins Jr? Tab Atkins Jr, um desenvolvedor americano, trabalhou durante muitos anos…

10 anos ago

BrazilJS Conf 2013

Pessoal, a BrazilJS Conf 2013 disponibilizou para o Maujor cupons de desconto para serem oferecidos…

11 anos ago