Como manter a conformidade com os padrões W3C de um tema

10

Quando escrevi um tema, verifiquei se ele estava em conformidade com o XHTML 1.1 e o CSS 2.1. Então eu adicionei plugins e o tema não é mais compatível com o XHTMl 1.1. Então eu usei a fonte da API do Google no meu CSS e é mais compatível com CSS 2.1.

Existe uma maneira de manter a conformidade sem me livrar dos plug-ins, da fonte etc. ou devo simplesmente ignorar os erros de validação?

    
por James 17.08.2010 / 23:07

4 respostas

5

Correção, seu tema ainda era compatível com o XHTML 1.1 e o CSS 2.1, mas os plug-ins que você adicionou injetaram código adicional que não era compatível .

Infelizmente, não há uma maneira fácil de manter a conformidade se você estiver usando plug-ins. O melhor que você pode fazer é validar seu tema e todas as marcações pelas quais é pessoalmente responsável, depois esperar que outros desenvolvedores tenham dedicado tempo para validar seu próprio trabalho.

A alternativa é muito mais trabalho de sua parte - você ainda pode usar a funcionalidade principal dos plug-ins, mas não permitir que eles imprimam qualquer marcação no navegador. Adicione sua própria camada personalizada que solta tudo o que o plug-in toca e construa seu próprio buffer de saída. Esta é a maneira única de você ter controle sobre o estilo de marcação que está sendo enviado para o navegador.

Vários plug-ins estão começando a usar o HTML 5 ... outros estão tentando usar o CSS3. Se você instalar esses plug-ins e não tomar medidas para higienizar e validar sua saída, seu site deixará de validar corretamente.

    
por EAMann 17.08.2010 / 23:46
8

Cada plugin vai gerar o código que deseja gerar e parte dele não será compatível com XHTML 1.1. A única maneira razoável de corrigir isso seria auditar cada um deles e modificar os ofensores ou fazer com que o desenvolvedor modifique ou use suas modificações como um patch.

Alternativo, você poderia tentar escrever um filtro para limpá-lo, mas tentar pegar todo o caso especial parece ser uma versão do meu próprio pesadelo pessoal e também afetaria o desempenho por um benefício insensato.

Você tem um cliente / chefe que quer isso, ou é apenas algo assumido como um " bom de ter ?" (Sim, há alguns que se sentem strongmente sobre isso. Eu, no entanto, não sou um desses.)

Dito isso, o XHTML está perdendo seu status " filho de corte justo " na web; até mesmo Tim Berners-Lee disse em 2006:

  

Algumas coisas são mais claras com retrospectiva   de vários anos. É necessário   evoluir HTML incrementalmente. A tentativa   para que o mundo mude para XML,   incluindo citações em torno do atributo   valores e barras em tags vazias e   namespaces de uma só vez não funcionaram.   O grande público gerador de HTML fez   não se move, em grande parte porque os navegadores   não reclamei. Alguns grandes   comunidades mudaram e estão desfrutando   os frutos de sistemas bem formados, mas   não tudo. É importante manter   HTML incrementalmente, bem como   continuando uma transição para o bem-formado   mundo, e desenvolvendo mais poder em   esse mundo.

Você também pode querer ler HTML5 muito mais fácil de escrever do que o XHTML 1.0. no StackOverflow. Aqui está o resumo deles:

  

Apenas na sintaxe, quando você usa HTML5,   você acaba com mais limpo, mais fácil   ler marcação que sempre invoca   modo de padrões. Quando você usa o XHTML 1.0   (servido como texto / html), você é   especificando um monte de crud (em ordem   para validar contra um dtd de baixa qualidade) que   o navegador fará automaticamente.

    
por MikeSchinkel 17.08.2010 / 23:59
2

O cumprimento dos padrões não garante que o seu site funcionará em todos os navegadores. Ignore a conformidade com os padrões e concentre-se nos testes com o maior número possível de navegadores.

    
por tomdxw 20.08.2010 / 23:39
1

Você pode armazenar em buffer toda a saída do seu site e depois organizá-lo em HTML compatível. O melhor de tudo é que isso pode ser feito totalmente automatizado:

  • Utilitário Tidy: enlace
  • Pacote de limpeza do PHP: enlace (para o PHP 4, empacotado no PHP 5)
  • Mais informações: enlace

Você pode ativar o buffer de saída no init do tema ou nos ganchos relacionados (por exemplo, * setup_theme * hook).

Aqui estão dois fragmentos de código. A primeira mostra que você inicia o buffer de saída e lê o buffer mais tarde:

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

O segundo mostra algumas das opções de configuração em ação:

/* 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;

Aposto que já existe um plugin do wordpress para fazer isso. Vamos ver:

por hakre 18.08.2010 / 09:40