Qué hace un validador de HTML (y por qué importa)

  • VersionDude
  • Estándares
  • 5 min de lectura

Un validador de HTML comprueba tu marcado frente al estándar vivo — detectando errores que los navegadores ocultan pero que perjudican la accesibilidad y la fiabilidad.

Un validador de HTML analiza tu documento como lo haría un navegador e informa de dónde se desvía del estándar HTML. Señala etiquetas sin cerrar, atributos mal usados, elementos colocados donde la especificación no lo permite y otros problemas estructurales. En efecto, sostiene tu marcado contra el reglamento y te dice exactamente dónde discrepan ambos, antes de que esas discrepancias se conviertan en errores.

La razón por la que estos problemas pasan desapercibidos tan a menudo es que los navegadores son deliberadamente indulgentes. El algoritmo de análisis de HTML está diseñado para recuperarse de casi cualquier error y aun así producir una página utilizable, lo cual es excelente para la resiliencia pero pésimo para la retroalimentación. Una página que se ve perfectamente bien en tu navegador puede contener marcado que el estándar considera inválido, y nunca lo sabrías sin una herramienta que verifique contra la especificación en lugar de limitarse a renderizar el resultado.

— VersionDude

La herramienta de referencia para este trabajo es el Nu HTML Checker, disponible en validator.nu y como el motor detrás de validator.w3.org/nu. Surgió del mismo trabajo de comprobación de conformidad documentado en otras partes de este sitio, y aplica el verdadero algoritmo de análisis junto con las reglas de esquema que hay detrás del estándar vivo. Como usa el algoritmo real en lugar de una aproximación, sus veredictos reflejan cómo un analizador conforme con los estándares interpreta genuinamente tu documento.

Vale la pena ser preciso sobre lo que el validador promete y lo que no. Comprueba la conformidad con el estándar —que tu marcado esté bien formado y use los elementos y atributos correctamente—, no que tu página esté bien diseñada, sea accesible en todos los aspectos o esté libre de errores lógicos. Un documento puede validar perfectamente y aun así tener mala usabilidad, igual que unas pocas advertencias de validación no significan necesariamente que una página esté rota. El validador es un instrumento afilado y estrecho, y tratarlo como el cuadro completo sería un error.

Dentro de su alcance, sin embargo, el marcado válido aporta beneficios concretos y prácticos más que mera pulcritud. Mejora la accesibilidad, porque las tecnologías de asistencia dependen de un DOM bien formado y correctamente estructurado para transmitir el contenido a usuarios que no pueden ver la pantalla. Encabezados mal anidados, etiquetas ausentes y puntos de referencia mal formados degradan toda esa experiencia, y muchos de esos problemas afloran primero como errores de validación.

Un icono de marca de verificación que indica una comprobación superada.
Un icono de marca de verificación que indica una comprobación superada.

El marcado válido también reduce las inconsistencias entre navegadores. Cuando tu documento se aparta del estándar, distintos navegadores pueden aplicar sus reglas de recuperación de errores de formas sutilmente diferentes, lo que conduce a un diseño o un comportamiento que varía entre ellos. El marcado conforme da a cada navegador conforme con los estándares el mismo árbol inequívoco con el que trabajar, lo que significa menos de esas exasperantes sorpresas de 'funciona aquí pero no allí'.

También hay un ángulo de búsqueda y de herramientas. Los motores de búsqueda, las vistas previas de enlaces, las funciones de modo lectura e innumerables herramientas automatizadas leen el DOM que produce tu marcado, y una estructura predecible y válida hace que todos ellos interpreten tus páginas de forma más fiable. No puedes controlar cómo analiza cada herramienta un documento desordenado, pero sí puedes controlar si le entregas uno limpio, y la validación es la forma de comprobarlo.

Todo esto hace que corregir las advertencias del validador sea una de las victorias de calidad más baratas disponibles. La mayoría de los errores son rápidos de resolver —una etiqueta de cierre ausente, un id duplicado, un atributo en el elemento equivocado— y la recompensa en accesibilidad, consistencia y previsibilidad es desproporcionada respecto al esfuerzo. Pocas mejoras ofrecen una relación tan favorable entre beneficio y tiempo invertido.

La forma de capturar ese valor de manera fiable es hacer de la validación parte de tu flujo de trabajo en lugar de un ritual ocasional. Ejecuta el validador al hacer commit, o conéctalo a tu pipeline de integración continua, de modo que el marcado se compruebe automáticamente cada vez que cambia. Detectar errores en el momento en que se introducen es mucho más fácil que la arqueología sobre una base de código grande y largamente desatendida más adelante.

Una vez automatizado, trata los nuevos errores de validación como tratas un test que falla: como una regresión que bloquea el cambio hasta que se corrige. Esto mantiene tu marcado conforme a lo largo del tiempo en lugar de decaer lentamente, y convierte el cumplimiento de estándares de un heroico esfuerzo de limpieza en un hábito silencioso y continuo. La combinación del Nu HTML Checker y un flujo de trabajo disciplinado es una de las formas más fiables de mantener sano el marcado de un sitio a largo plazo.

Proyecto relacionado