Tags depreciadas no HTML
Como é de conhecimento de muitos, foi lançado, há algum tempo, o HTML 5. Junto ao mesmo um alvoroço acerca das novas features, funcionalidades e recursos disponibilizados foi pauta de muitos artigos, sites, projetos e até mesmo novas empresas, estas que foram fundadas para atender o novo público.
Paralelo a isso, e meio que indiretamente, os desenvolvedores e o próprio jeito de programar para a web sofreram grandes mudanças. Algumas destas mudanças envolveram também a retirada da base da linguagem HTML: as suas tags. Tudo que precisa-se saber após o entendimento dos protocolos da web, da função interna da linguagem é o uso correto das tags HTML, para desenvolver uma página web simples. Depois disso, outras linguagens como Javascript ou CSS se fazem importantes, mas nenhuma delas funciona sem essa base, sem as tags.
Assim como em qualquer outra linguagem de grande porte, a evolução da mesma trás consigo a depreciação também. Depreciação de especificações, de conceitos, práticas e, no caso do HTML, de suas tags.
Observação: o órgão responsável por validar isso é o W3C (Figura 1), vide links para maiores informações.
Figura 1: W3C - World Wide Web
Este artigo tem por objetivo explanar um pouco acerca de algumas tags e seus respectivos atributos que se depreciaram com o surgimento de novas versões, assim como entender o porquê disso ter acontecido, recursos substitutos, etc.
Tags obsoletas
Para entender melhor o que foi falado até aqui, analise a Tabela 1, que contém uma listagem de algumas tags com descrição e explanação do que aconteceu após a depreciação.
Tag Depreciada | Descrição | Tag Substituta |
---|---|---|
<applet> | Insere um applet na página | <object> |
<basefont> | Configura os estilos de fonte | Estilos de fonte CSS |
<center> | Centraliza os elementos internos à tag | Estilo CSS. Ex:” text-align:Center” |
<dir> | Lista de diretórios | <ul> |
<u> | Underline | Estilos de texto CSS |
<strike> e <s> | Tacha o texto envolto | Estilos de texto CSS |
<font> | Configura estilo de fonte para o texto envolto | Estilos de fonte CSS |
<isindex> | Adiciona campo de pesquisa | <form> |
<menu> | Lista de menus | <ul> |
<acronym> | Cria uma abreviação com dica do que significa | <abbr> |
Tabela 1: Listagem de tags depreciadas e respectivas substitutas
Note que na mesma tabela dois valores foram marcados de cor vermelha. Veja abaixo o por que:
- Tag ·<u>: A tag u, que vem de underline, e agia no texto de forma a sublinhá-lo foi depreciada em vista da confusão que alguns usuários tinham quando a viam em comparação a um hiperlink, por exemplo. Isso é redundante comparando-se ao uso do CSS para tal, uma vez que ainda existe a possibilidade de usá-lo com efeitos de estilo.
- Tag <font>: Essa tag foi desabilita já faz um bom tempo e é tida como uma “anti-tag”, pois seu uso fere os preceitos de estilo com CSS. Entretanto, ainda é muito comum o uso da mesma principalmente em páginas antigas ou por usuários que não se sentem à vontade usando CSS para tal.
Para os demais casos, é demasiado fácil identificar o porquê da substituição ou até mesmo abolição. A tag <center> por exemplo é corriqueiramente chamada de “tag do preguiçoso”, pois é bastante usada para centralizar elementos quando os mesmos deveriam ter tal efeito aplicado através de um estilo CSS. De tal forma, a partir da nova especificação o seu efeito fica abolido, inclusive o de usá-la em conjunto com uma tabela (<table>) para alinhar a mesma e seus respectivos elementos internos.
Junto a isso, o elemento <table> também passa a não ser mais usado para alinhar formulários ou outros elementos em uma página HTML, recurso até então amplamente utilizado por designers e desenvolvedores web. Não será mais possível exibir tais componentes sem as bordas das linhas e colunas para atingir a organização querida. Para tal, se faz necessário o uso de divisões (<div>’s) aliadas aos estilos CSS.
Algumas outras então se fazem por demais sem sentido ou em um escopo obsoleto demais para a realidade da web hoje, tais como <dir> e <acronym>. Particularmente, a tag <marquee> já deveria ter entrado na lista também. Efeitos mais bem elaborados podem ser obtidos através de bibliotecas JavaScript ou até mesmo plugins como Flash ou Silverlight.
Atributos obsoletos
Tanto quanto muitas tags HTML foram depreciadas, em maior quantidade muitos atributos HTML também o foram. Confira na Tabela 2 uma listagem de valores de atributos para tags HTML que entraram “pelo ralo”.
Atributo | Depreciado na(s) tag(s): |
---|---|
align | caption, iframe, img, input, object, legend, table, hr, div, h1, h2, h3, h4, h5, h6, p, col, colgroup, tbody, td, tfoot, th, thead, tr |
rev, charset | a, link |
shape, cords | a |
alink, link, text | vlink, body |
background | body |
clear | br |
char, charoff | col, colgroup, tbody, td, tfoot, th, thead, tr |
color | basefont, font |
border | img, object |
hspace | vspace, img, object |
link | body |
noshade | hr |
nowrap | td, th |
type | li, ul |
value | li |
vlink | body |
width | hr, table, td, th, col, colgroup, pre |
vspace | img, object |
Tabela 2: Tabela de atributos obsoletos no HTML 5
Observação: note que as referências feitas apontam para as mudanças ocorridas no HTML 5.
Todos esses atributos obsoletos podem ser substituídos por controles de folha de estilo. A maioria pode ser simplesmente ligada diretamente à folha de estilo. Por exemplo, o elemento #teste adicionado a cada página tem certos atributos pré-definidos na folha de estilo comum para todas as páginas principais, tal como na Listagem 1.
Listagem 1: Exemplo de CSS padrão para todas as páginas
#teste {vertical-align:middle; margin:25px; width:29; height:31; border:none;}
<td width=”?” … /> por exemplo, também não é mais permitido, logo, para tanto é possível aplicar esse estilo usando CSS ou as tags
Concluindo
Para preservar a compatibilidade e em prol da satisfação dos clientes, muitos fabricantes de navegadores fornecem suporte a elementos depreciados. Mas isso pode não acontecer para sempre, como pode ser observado em outras linguagens, como Java, .Net, etc. A recomendação geral é para tentar outras maneiras de alcançar, sempre que possível, os seus efeitos atualizando sempre seu código.