Tras pasar un tiempo repasando la documentación de HTML5, he decidido realizar un listado de las novedades para ir teniéndolas frescas de cara a realizar mis primeros trabajos con este standard.

Iré completando el artículo con las novedades, ya que por ahora solo he recabado información sobre lo que no se va a poder utilizar.

Elementos eliminados

Estos son los elementos eliminados y las razones de porqué son prohibidos:

  • Los siguientes elementos (muy usados hace pocos años) se quitan de HTML5 porque son puramente presentacionales (no tienen semántica) y todo el tema estético se debe tratar con CSS:
    • basefont
    • big
    • center
    • font
    • s
    • strike
    • tt
    • u
  • Los elementos para trabajar con frames (frame, frameset y noframes) se quitan del estándar por razones obvias: afectan negativamente a la usabilidad y accesibilidad de la web. Además, prácticamente rompen la web, y si se necesita algo similar se puede acudir a los iframe, más potentes y mejor pensados.
  • El elemento acronym se elimina simplemente porque crea confusión sobre su uso, y los desarrolladores no entienden demasiado bien para qué usarlo. Las abreviaciones y acrónimos se pueden marcar con abbr, que sí se mantiene en el estándar.
  • El elemento applet se ha declarado obsoleto y hoy en día no se utiliza. El elemento object reemplaza sus funciones y es lo común hoy en día.
  • El elemento isindex se quita definitivamente. En la era de las cavernas se utilizaba para mandar información al servidor, pero con la llegada de los formularios su uso es arcaico y poco útil.
  • El elemento dir también se declara obsoleto (ya lo era en HTML4), y simplemente se recomienda usar listas normales con ul.
  • El elemento noscript se mantiene en HTML pero no en XML/XHTML, ya que su contenido está en HTML. No estoy muy de acuerdo con este movimiento, pero así será.

Atributos eliminados

Para empezar, todos los atributos referentes a la presentación han sido eliminados, por la misma razón de antes: CSS sirve mejor ese propósito. Recuerdo que el atributo style (que contiene CSS) es ahora universal y puede ser aplicado a todos los elementos, así que si queremos indicar su presentación sin añadir una hoja de estilos aparte, tendremos que usar este atributo. Atención a la lista porque esto sí que es importante, ya que algunos de estos elementos son muy usados, aunque otros están muy obsoletos:

  • Atributo align en todos los elementos.
  • Atributos alink, link, text y vlink en el elemento body.
  • Atributo background en el elemento body.
  • Atributo bgcolor en los elementos table, tr, td, th y body.
  • Atributo border en todos los elementos.
  • Atributos cellpadding y cellspacing en el elemento table.
  • Atributos char y charoff en los elementos col, colgroup, tbody, td, tfoot, th, thead y tr.
  • Atributo clear en el elemento br.
  • Atributo compact en los elementos dl, menu, ol y ul.
  • Atributo frame en el elemento table.
  • Atributo frameborder en el elemento iframe.
  • Atributo height en los elementos td y th.
  • Atributos hspace y vspace en los elementos img y object.
  • Atributos marginheight y marginwidth en el elemento iframe.
  • Atributo noshade en el elemento hr.
  • Atributo nowrap en los elementos td y th.
  • Atributo rules en el elemento table.
  • Atributo scrolling en el elemento iframe.
  • Atributo size en el elemento hr.
  • Atributo type en los elementos li, ol y ul.
  • Atributo valign en los elementos col, colgroup, tbody, td, tfoot, th, thead y tr.
  • Atributo width en los elementos hr, table, td, th, col, colgroup y pre.

Como veis, algunos de estos atributos sí que se mantienen para ciertos elementos, como la anchura y altura en las imágenes. Sin embargo estos no son los únicos atributos que se eliminan, también hay otros que se quitan por redundancia, por evitar confusiones, por su bajo uso o porque simplemente se han quedado obsoletos.

  • Atributo accesskey en los elementos a, area, button, input, label, legend y textarea.
  • Atributos rev y charset en los elementos link y a.
  • Atributos shape y coords en el elemento a.
  • Atributo longdesc en los elementos img y iframe.
  • Atributo target en el elemento link.
  • Atributo nohref en el elemento area.
  • Atributo profile en el elemento head.
  • Atributo version en el elemento html.
  • Atributo name en los elementos img y a. Para obtener un comportamiento similar se recomienda usar id.
  • Atributo scheme en el elemento meta.
  • Atributos archive, classid, codebase, codetype, declare y standby en el elemento object.
  • Atributos valuetype y type en el elemento param.
  • Atributo language en el elemento script.
  • Atributo summary en el elemento table.
  • Atributos axis y abbr en los elementos td y th.
  • Atributo scope en el elemento td.