É possível ter W3C código de normas Compliant quando você tem que apoiar IE6? W3
-
12-09-2019 - |
Pergunta
Eu estou tentando motivar meus membros da equipe para obter o nosso código para validar, mas parece haver alguma desilusão, porque somos obrigados a ainda apoiar IE6.
Vocês têm alguma ideia para este fim?
Isto é o que eu estou indo para:
- código semântico - YES
- Código de Validação - YES
- Obras em IE6 - YES
Não vamos discutir sobre a semântica aqui lol. =]
HTML JS CSS
Solução
Sim, você pode ter código totalmente compatível, e manter o cruft para o IE6 em um arquivo separado (normalmente):
Apenas esconder qualquer código específico do IE6 com instruções condicionais do IE. Esta é a forma preferida para fazê-lo se você quiser que o seu CSS para validar ainda. Além disso, todos HTML válida deve funcionar bem no IE6 com o estilo próprio aplicado via CSS:
<!--[if lte IE 6]>
<link rel="stylesheet" href="/css/ie6.css" type="text/css" media="screen" />
<![endif]-->
Isso vai ser escondido de todos os validadores, e no resto do seu código pode permanecer válido.
Na verdade, desde o comentário condicional é apenas isso, um comentário HTML, mesmo que o código ainda é válido.
Editar :
A única maneira de provar isso seria a construção de um exemplo, mas todos os três são possíveis com IE6 e bom conhecimento em codificação.
- código semântico: YES
- Código Validação: YES
- Obras em IE6: YES
Na verdade, não é apenas IE6 que apresenta um problema com o código válido, mas ambos IE6 e IE7 (e IE8), mas novamente, apenas na CSS. Valide seus principais arquivos CSS, mas manter o IE6 CSS separar com condicionais.
Raramente eu tenho que adicionar marcação extra ao HTML para apoiar IE6 (que não sejam condicionais no head
). É simplesmente uma questão de entender o modelo de caixa, e construir suas páginas semânticas em conformidade.
Um ou dois divs
não são maus, se eles apresentam um agrupamento adequado. Três divs
aninhada para corrigir um bug
é o mal:)
Outras dicas
A resposta curta: sim
Tem sido minha experiência que válida marcação, semântica realmente funciona melhor com IE6. Combine isso com CSS correto, válido, e simples e você está muito bem dourada. Claro que você é obrigado a encontrar algum comportamento estranho no IE6, especialmente para projetos mais complexos, como mencionado acima. No entanto, a maioria desses erros são bem documentado . Com simples, código válido, identificar e corrigir esses problemas muitas vezes é bastante simples.
Os comentários condicionais, como mencionado acima, certamente trabalho, mas o desenvolvimento de um código válido vai impedi-lo de salpicando seu código com todos os tipos de condições.
Ainda não é possível fazê-lo funcionar? Degradar graciosamente! Claro cantos arredondados são bonitas e toda a raiva, mas a 20% (talvez menos) de seus usuários que ainda estão vivendo na idade das trevas provavelmente não vai sentir falta deles.
É um pouco de trabalho para fazer o trabalho de código no IE6, e há um pouco de trabalho para fazer a validação de código, mas isso não significa que é o mesmo tipo de trabalho ou que um deles vai fazer a outra impossível.
Não há realmente nada que diz que o código tem a falhar validação ao trabalho no IE6. Pelo contrário, o código que valida é mais propensos a trabalhar em qualquer navegador, não apenas IE6. Existem algumas peculiaridades IE6 que você pode contornar usando o código não-válido, mas não é o único método para contornar os problemas. Métodos que usam código válido também são mais propensos a continuar a trabalhar quando novas versões do navegador são liberados, de modo que você não tem que começar de novo para cada nova atualização do navegador.
É claro mais fácil fazer o trabalho de código no IE6 se você não tem que pensar sobre o código válido, ao mesmo tempo, mas isso é só porque há mais factores a considerar, não porque os fatores são incompatíveis per se.
Não, não é possível para qualquer layout moderadamente complexa.
EDIT:. Pelo menos não sem acrescentar muita condicionais feias