Pergunta sobre xhtml, standards-compliance, html – A conformidade com XHTML é inútil?

20

Estou construindo um site agora, até agora eu forcei tudo para ser compatível e parece o mesmo nos navegadores. No entanto, estou começando a implementar alguns scripts javascripts de terceiros que fazem coisas como adicionar atributos (por exemplo, order = 2). Eu poderia contornar isso, mas é uma dor, e estou começando a perder meus princípios de ter certeza de que tudo é válido. Realmente, há algum ponto para trabalhar em torno de algo assim? Eu tenho o plugin HTMLValidator para o firefox, e olhando para a maioria dos sites principais (incluindo este, o google, etc.), eles não são XHTML ou HTML válidos.

Eu removi a tag de conformidade da buzzword. Imensamente ofensivo, IMHO. Jon Limjap
Veja também a pergunta "Escolha da versão HTML":stackoverflow.com/questions/3654/html-version-choice Chris

Sua resposta

11   a resposta
1

Ser HTML válido geralmente é uma ajuda para você e para o mecanismo de renderização do navegador. Quanto menos peculiaridades os navegadores tiverem que lidar, mais eles poderão se concentrar em adicionar novos recursos. Quanto mais estrito você for, menos tempo passará o tempo imaginando por que essa tag proprietária f @ # cking não funciona nos outros navegadores.

Por outro lado, XHTML é, IMHO, mais inútil, exceto se você pretende integrá-lo dentro de algum documento XML. Como o IE ainda não o reconhece, é muito inútil ficar com ele.

0

Eu tento escrever código compliant na maior parte do tempo pesando o tempo / custo vs as necessidades do público em todos os casos, mas um. Onde você codificar precisa ser compatível com 503, é de seu interesse e do interesse de seu público escrever código compatível. Eu me deparei com um monte de leitores de tela que explodem quando o código está um pouco desligado.

Como a maioria dos pôsteres disse, é tudo sobre o que seu público precisa.

5

A validação é útil para determinar quando as coisas não estão cumprindo os padrões com os quais você supostamente concorda. Se você está propositalmente usando uma ferramenta que adiciona especificamente algo que não está nos padrões de validação, obviamente isso não quebra seu contrato de padrões pessoais.

Essa discussão fica muito mais difícil se você tem um chefe ou um cliente que acredita que tudo deve retornar à luz verde, já que você terá que explicar o que foi dito a eles e convencê-los de que não é simplesmente você ser preguiçoso.

Dito isto, tenha certeza de que não é simplesmente um caso de você ser preguiçoso. Embora os validadores possam exibir constantemente todas as instâncias do atributo de terceiros, isso não invalida (ha) os outros erros de validação que eles estão mencionando. Muitas vezes vale a pena digitalizar como um meio de verificar novamente o seu trabalho.

2

Apenas tenha em mente que a tag XHTML é processada de maneira diferente na maioria dos navegadores do que não a ter. O atributo DOCTYPE determina qual modo o navegador renderiza e determina o que é e o que não é permitido. Se você se desviar da conformidade com XHTML, não deixe de testar novamente em todos os navegadores.

Pessoalmente, eu mantenho os padrões mais recentes sempre que possível, mas você tem que pesar tempo / dinheiro contra a conformidade com certeza e se resume a preferência pessoal para a maioria.

0

Claro, você pode sempre ir em frente e escrevê-lo da maneira que quiser, certificando-se de que, no mínimo, funcione. Claro, já sofremos essa mentalidade e testemunhamos sua saída,Internet Explorer 6.

Eu sou um grande fã doAbordagem de Mike Davidson ao desenvolvimento orientado a padrões.

Só porque você pode validar seu código não significa que você é melhor do que ninguém. Heck, isso não significa necessariamente que você escreve um código melhor do que qualquer outra pessoa. Alguém que pode escrever um aplicativo bancário inteiramente em Flash é um codificador melhor que você. Alguém que pode integrar código de terceiros em um ambiente de publicação complicado é um codificador melhor que você. Pense na validação como o uso da gramática perfeita da imagem; Ele ajuda você a transmitir suas ideias e é um sinal de uma boa educação, mas não é tão importante quanto as ideias e os conceitos que você pensa e subseqüentemente se comunica. A pessoa mais carismática e possivelmente mais esperta que já trabalhei foi do Sul e usou a palavra "não" com bastante regularidade. Isso não o tornou menos inteligente e, na verdade, o tornou mais memorável. Então, tudo o que estou dizendo é que há muitas coisas para julgar em alguém… a validação é uma delas, mas certamente não é a mais importante.

Muitas pessoas entendem mal este post para significar que não devemos codificar os padrões. Devemos, obviamente, mas não é algo que deva ser realmente pensado. oexército de validação sempre critica aqueles que não validam, mas validação significa muito mais do que código válido.

Portanto, não perca seus princípios, mas lembre-se de que, se você seguir os padrões, é muito menos provável que acabe no mais profundo dos problemas no futuro. O conteúdo que você está tentando fornecer é muito mais importante do que como é exibido.

3

Se você está pensando em tirar proveito do XHTML como XML, então vale a pena fazer suas páginas válidas e bem formadas. Caso contrário, o HTML semântico antigo simples provavelmente quer que você queira. De qualquer maneira, as necessidades do seu público superam as necessidades de um validador.

0

Não é inútil, mas há muita justificativa para quebrá-lo. Durante os estágios iniciais do desenvolvimento de CSS, ele é muito útil para diagnosticar problemas do navegador, caso sua marcação seja válida. Além disso, se você quiser fazer alguma coisa e achar que o método mais apropriado é quebrar a validação, isso geralmente é aceitável.

Uma alternativa ao uso de atributos customizados é fazer uso do atributo 'rel', para um exemploLitebox (e seus parentes).

2

Eu ainda tenho que experimentar uma instância em que a adição de um atributo não padrão causou um problema de renderização em qualquer navegador.

Não tente contornar esses atributos não padrão. Os validadores são úteis como ferramentas para verificar novamente o seu código em busca de erros não intencionais, mas, como todos sabemos, mesmo o xhtml totalmente válido nem sempre será renderizado de forma consistente nos navegadores. Há muitas ocasiões em que as decisões de design exigem que usemos hacks específicos do navegador (e não padrão) para obter um efeito. Esta é a vida de um desenvolvedor web, como evidenciado pelo número de sites de tecnologia de condução (google, yahoo, etc.) que não valida.

2

No que diz respeito aos navegadores, a conformidade com XHTML é inútil, já que:

Os navegadores não têm analisadores XHTML. Eles têm analisadores de HTML não compatíveis com a versão e específicos da Web que criam um DOM em torno dohttp://www.w3.org/1999/xhtml namespace.

Alguns navegadores que têm analisadores XML podem tratar a marcação XHTML servida como application / xhtml + xml como XML. Isso levará o XML e fornecerá estilo e comportamento HTML padrão aos elementos nohttp://www.w3.org/1999/xhtml namespace. Mas, no que diz respeito à análise, não tem nada a ver com XHTML. As regras de análise XML são seguidas, não algumas regras do DTD XHTML.

Então, quando você usa marcação XHTML, você está dando algo estranho aos navegadores e vendo se ele sai como você pretende. A coisa é, você pode fazer isso com qualquer marcação. Se ele renderizar como esperado e produzir o DOM correto, você estará indo muito bem. Você apenas tem que ter certeza de manter a comutação do DOCTYPE em mente e ter certeza de que você não está confiando em um bug do navegador (então as coisas não desmoronam em navegadores que não possuem o bug).

O que é bom para XHTML é a verificação de sintaxe (validando) para ver se a marcação está bem formada. Isso ajuda a evitar erros de análise. Claro, isso pode ser feito com HTML também, então não há nada de especial sobre XHTML neste caso. De qualquer forma, você ainda precisa testar em navegadores e esperar que os fornecedores de navegadores criem analisadores de HTML impressionantes que possam aceitar todo tipo de lixo.

O que não é inútil é tentar se adequar ao que os navegadores esperam. HTML5, ajuda com esse grande momento. E, falando de HTML5, você pode definir atributos personalizados tudo o que quiser. Basta prefixá-los com data-, como em <p data-order = "Este é um atributo personalizado válido."> Test </ p>.

Todos os principais navegadores, exceto o IE, têm analisadores XHTML. XHTML DTD é uma espécie de respeito (entidades nomeadas funcionam quando estão presentes, às vezes de forma errônea, mesmo quando não são :) O bom funcionamento ea validação em termos XML são coisas diferentes. Kornel
4

A conformidade com os padrões é aumentar a chance de sua página funcionar nos navegadores que você não testa. Isso inclui leitores de tela e a próxima atualização dos navegadores testados e navegadores contra os quais você testa, mas que foram configurados de maneiras inesperadas pelo usuário.

A validação não garante nada, pois é possível validar sua página, mas ainda assim ser suficientemente ambíguo para que ela não se comporte como você deseja em algum navegador algum dia.

No entanto, se sua página for validada, você terá pelo menos a força da especificação XHTML dizendo como ela deve se comportar. Se não validar, tudo que você tem é um monte de convenções informais entre os criadores de navegadores.

Provavelmente é melhor escrever HTML 3 válido do que o XHTML inválido, se houver algo que você queira fazer, o que é permitido em um, mas não no outro.

+1 para o seu último parágrafo Ian Goldby
1

Acho que escrever "código válido" é importante, simplesmente porque você está dando um exemplo seguindo as regras. Se todo desenvolvedor tivesse escrito código para Fx, Safari e Opera, acho que o IE tinha que "começar a seguir as regras" antes da versão 8.

Perguntas relacionadas