Cómo mantener el cumplimiento de los estándares de W3C de un tema

10

Cuando escribí un tema, me aseguré de que fuera compatible con XHTML 1.1 y CSS 2.1. Luego agregué complementos y el tema ya no cumple con XHTMl 1.1. Luego utilicé la fuente de Google API en mi CSS y ya no es compatible con CSS 2.1.

¿Hay alguna manera de mantener el cumplimiento sin deshacerme de los complementos, fuentes, etc. o debo ignorar los errores de validación?

    
pregunta James 17.08.2010 - 23:07

4 respuestas

5

Corrección, su tema aún era compatible con XHTML 1.1 y CSS 2.1, pero los complementos que agregó agregaron código adicional que no era compatible.

Lamentablemente, no hay una manera fácil de mantener el cumplimiento si está utilizando complementos. Lo mejor que puedes hacer es validar tu tema y todas las marcas de las que eres personalmente responsable, luego, espero que otros desarrolladores se hayan tomado el tiempo para validar su propio trabajo.

La alternativa es mucho más trabajo de su parte: aún puede usar la funcionalidad principal de los complementos, pero no permita que muestren ninguna marca en el navegador. Agregue su propia capa personalizada que desenganche todo lo que toca el complemento y cree su propio búfer de salida. Esta es la manera única de que tendrá control sobre el estilo de marcado que se envía al navegador.

Varios complementos están empezando a usar HTML 5 ... otros intentan usar CSS3. Si instala estos complementos y no toma medidas para sanear y validar su salida, entonces su sitio dejará de validarse correctamente.

    
respondido por el EAMann 17.08.2010 - 23:46
8

Cada complemento generará el código que desea generar y parte de él no será compatible con XHTML 1.1. La única forma razonable de corregir eso sería auditar a cada uno y modificar a los infractores o hacer que el desarrollador modifique o use sus modificaciones como parche.

Alternate, podrías intentar escribir un filtro para limpiarlo, pero tratar de detectar todo el caso especial parece una versión de mi propia pesadilla personal y también afectaría el rendimiento para obtener beneficios dudosos.

¿Tienes un cliente / jefe que quiere esto, o es simplemente algo que se supone que es " agradable a tener ?" (Sí, hay algunos que se sienten fuertemente al respecto. Sin embargo, yo no soy uno de ellos).

Dicho esto, XHTML está perdiendo su estado de " pelo rubio " en la web; incluso Tim Berners-Lee lo dijo en 2006:

  

Algunas cosas son más claras en retrospectiva   de varios años. Es necesario para   evolucionar HTML de forma incremental. El intento   para conseguir que el mundo cambie a XML,   incluyendo citas alrededor del atributo   valores y barras en las etiquetas vacías y   los espacios de nombres a la vez no funcionaban.   El gran público generador de HTML lo hizo   No se mueven, en gran parte porque los navegadores.   no se quejó Algunos grandes   Las comunidades cambiaron y están disfrutando.   los frutos de sistemas bien formados, pero   no todo. Es importante mantener   HTML incrementalmente, así como   Continuando una transición a bien formado   mundo, y desarrollando más poder en   ese mundo.

También puede leer HTML5 es mucho más fácil de escribir que XHTML 1.0. en StackOverflow. Aquí está su resumen:

  

Sintaxis, cuando usas HTML5,   terminas con más limpio, más fácil   Marcado de lectura que siempre invoca.   Modo estándar. Cuando usas XHTML 1.0   (servido como texto / html), eres   especificando un montón de crud (en orden   para validar contra un dtd crappy) que   El navegador lo hará automáticamente.

    
respondido por el MikeSchinkel 17.08.2010 - 23:59
2

El cumplimiento de los estándares no garantiza que su sitio web funcione en todos los navegadores. Ignore el cumplimiento de los estándares y concéntrese en las pruebas con tantos navegadores como sea posible.

    
respondido por el tomdxw 20.08.2010 - 23:39
1

Puede almacenar en búfer toda la salida de su sitio y luego ordenarlo en HTML compatible. Lo mejor de todo es que esto se puede hacer completamente automatizado:

Puede habilitar el búfer de salida en el tema de inicio o en los enganches relacionados (por ejemplo, * setup_theme * hook).

Aquí hay dos fragmentos de código. La primera muestra que se inicia el búfer de salida y se lee el búfer más adelante:

<?php
ob_start();
?>
  …
<?php
$buffer = ob_get_clean();
$tidy = tidy_repair_string($buffer);
echo $tidy;
?>

La segunda muestra algunas de las opciones de configuración en acción:

/* Tiny Configuration */
$config["clean"]         = true;
$config["hide-comments"] = true;
$config["output-xhtml"]  = true;
$config["indent-spaces"] = 2;
$config["tab-size"]      = 2;
$config["wrap"]          = 0;

$buffer = ob_get_clean();
$tidy   = tidy_repair_string($buffer, $config);

echo $tidy;

Apuesto a que ya existe un complemento de WordPress para hacerlo. Veamos:

  • enlace
  • enlace (se envía con binarios ordenados que podrían considerarse inflables)
respondido por el hakre 18.08.2010 - 09:40

Lea otras preguntas en las etiquetas