É aceitável que XHTML inválido?

votos
20

Tenho notado um monte de sites, SO incluído, utilize XHTML como sua linguagem de marcação e, em seguida, deixar de aderir ao spec. Apenas navegando na fonte de forma que há falta tags de fechamento para os parágrafos, elementos inválidos, etc.

Então ferramentas (e desenvolvedores) deve usar o doctype XHTML se eles estão indo para produzir inválido mark up? E deve navegadores ser mais firmes em sua aceitação de má mark-up?

E antes que alguém grita hipócrita, meu blog tem um pedaço de inválido mark-up envolvendo a captha (ou ele fez da última vez que verifiquei) que envolve denominar a tag noscript.

Publicado 06/08/2008 em 15:21
fonte usuário
Em outras línguas...                            


14 respostas

votos
16

muitas razões para usar marcação válida. O meu favorito é que ele permite que você use a validação como uma forma de testes de regressão, impedindo o equivalente marcação de "podridão delta" de levando a problemas real render uma vez que os erros atingir alguma massa crítica. E realmente, é simplesmente desleixado para permitir erros "preguiçoso", como erros de digitação e mis-aninhados / tags não fechadas para acumular. Marcação válida é uma maneira de identificar os programadores apaixonados .

Há também a questão da depuração: marcação válida também lhe dá uma linha de base estável a partir do qual a trabalhar sobre os problemas de compatibilidade cross-browser inevitáveis. Nenhum desenvolvedor web que valoriza seu tempo deve começar a depurar problemas de compatibilidade do navegador sem primeiro garantir que a marcação é, pelo menos sintaticamente válido e qualquer outra marcação inválida deve ter uma boa razão para estar lá.

(Aliás, stackoverflow.com falhar ambos os testes, e sugestões para corrigir os problemas foram se recusou .)

Tudo o que disse, para responder à sua pergunta específica, não é provavelmente vale a pena usar um dos doctypes XHTML menos que você pretende produzir válidos (ou pelo menos de marcação bem formado). Principais vantagens do XHTML são derivadas do fato de que XHTML é XML, permitindo que ele seja processado e transformado por ferramentas e tecnologias que trabalham com XML. Se você não planeja fazer o seu XHTML XML bem formado, em seguida, há pouco ponto na escolha de que tipo de documento. A última HTML 4 especificação provavelmente irá fazer tudo o que precisa, e é muito mais indulgente.

Respondeu 06/08/2008 em 15:46
fonte usuário

votos
2

Você pode dizer que eu tenho um TOC sobre a validade XHTML. Acho que a maioria dos problemas com o código não sendo válido vem de programadores não saber a diferença entre HTML e XHTML. Eu tenho escrito 100% XHTML e CSS ou um tempo agora e nunca tive grandes problemas de renderização com outros navegadores. Se você manter tudo válido, e não tentar nada muito css exótico sábio, você vai economizar uma tonelada de tempo em correções.

Respondeu 15/09/2008 em 16:34
fonte usuário

votos
2

Eu não acho que, se você especificar um doctype, não há qualquer razão para não aderir a este tipo de documento.

Usando XHTML torna a detecção de erro automatizado fácil, cada mudança pode ser verificada automaticamente para marcação inválida. Isso evita erros, especialmente quando se utiliza o conteúdo gerado automaticamente. É muito fácil para um desenvolvedor web usando um motor de templates (JSP, ASP.NET StringTemplate, etc.) para copiar / colar uma tag de fechamento muito pouco ou demais. Quando este é o seu único erro, ele pode ser detectado e corrigido imediatamente. Eu trabalhei uma vez para um site que tinha 165 erros de validação por página, dos quais 2 ou 3 foram erro reais. Estes eram difíceis de encontrar na desordem de outros erros. validação automática teria impedido esses erros na fonte.

Escusado será dizer que a escolha de um padrão e aderindo a ela nunca pode beneficiar a interoperabilidade com outros sistemas (screen scrapers, leitores de tela, motores de busca) e eu nunca se deparar com uma situação onde um XHTML semântico válido com solução CSS não foi possível para todos os principais navegadores.

Obviamente, quando se trabalha com sistemas complexos, nem sempre é possível manter o seu tipo de documento, mas este é principalmente um resultado de uma comunicação inadequada entre as diferentes equipes de desenvolvimento diferentes partes desses sistemas, ou, mais provável, sistemas legados. No último caso, é provavelmente melhor para isolar esses casos e alterar o seu tipo de documento em conformidade.

É bom ser pragmático e não aderir a XHTML só porque alguém disse isso, independentemente dos custos, mas com o conhecimento atual sobre a CSS e navegadores, testes e ferramentas de validação, na maioria das vezes os benefícios são muito maiores do que os custos.

Respondeu 02/09/2008 em 11:11
fonte usuário

votos
2

Devemos sempre tentar torná-lo validar acordo com as normas. Nós vamos ter certeza de que o site irá exibir e funcionar bem em navegadores atuais e futuros navegadores.

Respondeu 02/09/2008 em 10:56
fonte usuário

votos
1

Não, você não deve usar XHTML, se você não pode garantir boa formação e, na prática você não pode garantir que, se você não usar o serializador XML para gerar marcação. Leia sobre a produção de XML .

Boa formação é a coisa que diferencia XHTML do HTML. XHTML com "apenas um" erro de marcação deixa de ser XHTML. Tem que ser perfeito o tempo todo .

Se local "XHTML" aparece para trabalhar com alguns erros, é porque navegadores ignorar o DOCTYPE e interpretar página como HTML.

Veja XHTML procuração que força a interpretação de páginas como XHTML. Na maioria das vezes eles falham miseravelmente . Esta é uma das razões por que futuro do XHTML é incerto e porque o desenvolvimento de HTML foi retomada .

Respondeu 11/10/2008 em 14:16
fonte usuário

votos
1

enquanto eu concordo com o sentimento de "se torna muito bem, então não se preocupe com isso" declaração, no entanto, é bom para seguir um padrão, mesmo que ele não pode ser totalmente suportado no momento. você ainda pode usar a Tabela de layout, mas não é bom para uma razão.

Respondeu 06/08/2008 em 15:42
fonte usuário

votos
1

Embora eu acredite na busca de XHTML e CSS válidos, é muitas vezes difícil de fazer por uma série de razões.

  • Em primeiro lugar, uma parte do conteúdo pode ser carregado através de AJAX. Às vezes, fragmentos não são devidamente inserido no DOM existente.
  • O HTML que você está vendo pode não ter sido produzida no mesmo documento. Por exemplo, a página poderia ser feito de componentes para cima, ou modelos, e depois jogado juntos antes de o navegador processa-lo. Esta não é uma desculpa, mas você não pode supor que o HTML que você está vendo era mão codificado de uma só vez.
  • E se parte do código gerado pelo Markdown é inválido? Você não pode culpar Stack Overflow para não produzir código válido.
  • Por último, o propósito do DOCTYPE não é simplesmente dizer: "Ei, eu estou usando código válido", mas é também para dar o navegador um heads-up o que você está tentando fazer para que ele possa, pelo menos, chegar perto de analisar corretamente essa informação.

Eu não acho que a maioria dos desenvolvedores especificar um DOCTYPE e depois explicitamente deixar de aderir a ela.

Respondeu 06/08/2008 em 15:35
fonte usuário

votos
1

Eu não usaria XHTML em tudo só para me salvar o estresse filosófica. Não é como qualquer navegador estão tratando-o como XHTML de qualquer maneira.

Browsers rejeitará pobre mark-up se a página é enviada como application / xhtml + xml, mas eles raramente são. Isto é bom.

Eu estaria mais preocupado com coisas como o uso em linha de CSS e JavaScript com Stack Overflow, só porque eles fazem a manutenção mais difícil.

Respondeu 06/08/2008 em 15:29
fonte usuário

votos
0

Para 99,999% dos sites por aí, realmente não importa. A única vez que eu tive que importa, eu corri a entrada HTML através HTMLTidy para XHTML-ize-lo, e então corri minha processamento nele.

Praticamente, é axioma do antigo programador: confie nenhuma entrada.

Respondeu 06/08/2008 em 15:37
fonte usuário

votos
0

Há tantos padrões e eles são tão mal "forçado" ou suporte que eu não acho que isso é importante. Não me interpretem mal, eu acho que deveria haver normas, mas porque elas não são aplicadas, ninguém os segue e é uma espiral descendente maciça.

Respondeu 06/08/2008 em 15:33
fonte usuário

votos
0

Eu não entendo por que todo mundo pego tentando fazer seus sites se ajustar ao padrão quando alguns navegadores soleira tem problemas de renderização corretamente código padrão. Estive em web design para algo como 10 anos e eu parei codding duplo (leia-se: corte css), e mudando coisas estúpidas apenas para que eu pudesse colocar um botão no meu site.

Eu acredito que usando um <div> fará com que você seja inválido independentemente, e é um pouco mais difícil de fazer qualquer grande JavaScript / AJAX sem ele.

Respondeu 06/08/2008 em 15:30
fonte usuário

votos
0

Eu digo, se torna OK, então não importa se é de pixel perfeito.

Demora um tempo para obter um site instalado e funcionando da maneira que você quiser, voltar e fazer alterações vai mudar a forma como a página é processada ligeiramente, então você tem que corrigir esses problemas.

Agora, eu não estou dizendo que você deve construído páginas web desleixado, mas não vejo nenhuma razão para consertar o que não está quebrado. Navegadores não vão perder o suporte para correção de erros a qualquer momento no futuro próximo.

Respondeu 06/08/2008 em 15:29
fonte usuário

votos
0

Enquanto ele funciona no IE, FF, Safari, (insira outro navegador aqui) você deve estar bem. Validação não é tão importante quanto ter que processar corretamente em vários navegadores. Só porque ele é válido, não significa que ele vai trabalhar no IE corretamente, por exemplo.

Executar o Google Analytics ou similar em seu site e ver que tipo de navegadores seus usuários estão usando e depois juiz quais navegadores você precisa para suportar a mais e se preocupar com os menos importantes quando você tem o tempo livre para fazê-lo.

Respondeu 06/08/2008 em 15:29
fonte usuário

votos
0

Depende. Eu tive que problema com o meu blog onde um vídeo do YouTube causou XHTML inválido, mas prestados bem. Por outro lado, eu tenho um link "XHTML", e uma combinação de uma reivindicação "XHTML" e inválida XHTML não é profissional.

Como SO não tem a pretensão de ser válido, eu acho que é aceitável, mas, pessoalmente, se eu fosse Jeff gostaria de ser incomodado e tentar corrigi-lo mesmo se ele parece ser bom em navegadores modernos, mas algumas pessoas preferem apenas seguir em frente e realmente fazer as coisas em vez de corrigir erros inexistentes.

Respondeu 06/08/2008 em 15:25
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more