Tras darle muchas vueltas a la correcta validación del HTML5 del código fuente del sitio web de APG por el validador oficial de la W3C, y tras solventar los distintos problemas detectados, nos encontramos en un callejón sin salida para poder cumplir con los estándares web oficiales marcados por la W3C.

El problema lo generaba el fantástico plugin para WordPress Jetpack by WordPress.com y su complemento de comentarios.

¿El problema?

El problema lo genera el iFrame que se inserta en el archivo comments.php de nuestro tema, y más concretamente tres de sus atributos que están obsoletos en los estándares web de HTML5.

Solución

La solución consiste en localizar en el archivo comments.php de nuestro tema principal o de nuestro tema hijo la siguiente función:

<?php comment_form(); ?>

Y reemplazarla por el siguiente código PHP:

<?php
ob_start();
comment_form();
$formulario = ob_get_clean();
$formulario = str_replace( '<span class="hiddenSpellError" pre="" data-mce-bogus="1" frameBorder="0" scrolling="no"', '', $formulario );
$formulario = str_replace( 'allowtransparency="false"', '', $formulario );
$formulario = str_replace( 'style="', 'style="background-color:transparent; overflow:hidden; ', $formulario );
echo $formulario;
?>

Explicación

En él capturamos el código HTML generado por la función comment_form, le eliminamos los atributos obsoletos, en este caso frameborder (ojo que está mal escrito, frameBorder, en el código original), scrolling y allowtransparency y le añadimos los estilos que deben sustituir a estos atributos en los navegadores.

Aunque esta solución no es la panacea, ya que en algunos navegadores antiguos puede dar problemas, especialmente la falta del atributo scrolling, nosotros la hemos probado en varios navegadores web y todo funciona perfectamente.

Si pruebas este código, y te encuentras con algún problema en algún navegador web, haz el favor de dejarnos un comentario indicándonos el nombre del navegador, la versión, sistema operativo y la solución, si la has encontrado, al problema detectado. Así iremos mejorando el código hasta dejarlo perfecto.

Esperamos que os resulte útil este pequeño hack y quedamos pendientes de vuestras opiniones, comentarios y sugerencias para mejorar el código.