O que importa é o bom senso
Responda rápido: o que você acha mais importante ao desenvolver páginas ou aplicações para a web? acessibilidade, usabilidade, validação ou semântica?
Eu responderia: nenhum dos quatro, em especial. O mais importante mesmo é o bom senso.
À medida que vamos ganhando experiência em desenvolvimento web (em qualquer campo, na verdade), olhamos para trás e percebemos o quanto já perdemos tempo com questões que, no fim das contas, não traziam nenhum benefício real ou aumentavam a qualidade do nosso produto final.
Iniciantes, principalmente aqueles que estão descobrindo os padrões web, desenvolvimento em camadas, semântica, acessibilidade, usabilidade, you name it, acabam por entrar em um estado de “xiitismo” crônico que não leva a nada e acabam aumentado e muito a chance de cultivar desafetos ao longo do caminho.
Falo isso por experiência própria. Já fui assim. E isso não tem muito tempo. O Danilo, por exemplo, adora me chamar de xiita até hoje. E nem posso dizer que ele esteja errado, já que ainda não estou completamente curado. Diria que estou me curando. O processo é lento, e o único remédio que pode ajudar a curar — ou, de preferência, previnir — essa síndrome que ataca 9 entre cada 10 iniciantes no desenvolvimento com os padrões web é o bom e velho bom senso.
Mas por que estou aqui falando em “xiitismo”? Porque, em geral, os desenvolvedores iniciantes (e às vezes até alguns mais experientes) costumam se prender demais a algumas regras, que tomam como verdade absoluta, sem questioná-las ou analisá-las com critérios próprios, e acabam por reagir de maneira negativa e, às vezes, até mesmo ofensiva quando alguém tenta mostrar que, em alguma situação, aquilo pode ser feito de maneira diferente.
Não é raro ver comentários em blogs — aqui mesmo, por exemplo — que falam sobre desenvolvimento web, reclamando e às vezes até mesmo insultando o dono ou donos do blog porque encontraram um erro de validação, ou porque tem um DIV ou SPAN sem conteúdo no meio do código, ou porque tem DIVs demais, ou porque o sujeito usa um DOCTYPE transitional ao invés de um STRICT, ou porque o cara gosta de colocar campos de formulário dentro de listas não ordenadas.
O ponto é: será que ele não teve um bom motivo pra tomar tais decisões? Será que o site se tornou realmente menos acessível ou menos usável por causa disso?
O que proponho é: ao desenvolver, e se deparar com uma situação onde uma decisão precise ser tomada que possa infringir uma regra que você tomou como a regra até então, use o bom senso para pesar os prós e os contras. Pense, analize, tome a decisão que te parecer mais sensata. Tire suas próprias conclusões. Sempre há mais de uma maneira de resolver um problema e nem sempre uma ou outra é, de fato, a melhor.
Querem um exemplo? Pois bem, há um tempo atrás, me deparei com um texto do Dave Shea, um dos caras mais importantes do mundo dos padrões web, sobre image replacement. Nesse texto, ele analiza diversas técnicas e discorre sobre os prós e os contras de cada uma delas.
Dessas técnicas, a que me pareceu mais interessante (e para ele também, ao que parece), usa um SPAN vazio para servir de container para a imagem. Quais os prós dessa técnica? Ela faz tudo que as outras fazem e ainda resolve a situação onde se tem suporte a CSS mas não se tem suporte a imagens. E quais os contras? Um SPAN vazio e a impossibilidade de se usar imagens transparentes.
Utilizei esta técnica em um site (e hoje uso em praticamente qualquer site que precise de image replacement) e, ao mostrar para algumas pessoas a primeira coisa que diziam era: Pô, tá legal, mas tem um monte de SPANs vazios…quê isso?
Qual o peso negativo de um SPAN vazio? Bem, na minha opinião, é bem pequeno. Digamos que fere um pouco a semântica. Porém, SPAN é um elemento de semântica genérica, um container inline de uso geral que, nesse caso, ajuda a melhorar o visual da sua página e ainda resolve um grande problema de acessibilidade, ao manter o texto intacto e no lugar certo mesmo que o user-agent do usuário não tenha suporte a imagens ou na falta dessas imagens, por qualquer outro motivo.
Em termos de usabilidade, não se perde nem se ganha nada com ele. Portanto, o saldo é positivo. Isso na minha opinião, claro. Talvez não seja na sua, ou talvez não se aplique ao projeto que você está desenvolvendo. Como já disse, há que se usar de bom senso. E sem moderação.
Existem outros casos, cada novo projeto traz novas situações em que é necessário pesar os prós e os contras de determinada técnica, seja na camada de conteúdo, apresentação ou comportamento.
Não acredite em fórmulas prontas. Ou até acredite, mas não sem antes ter a sua própria opinião. Não sem ter certeza de que ela realmente resolve o seu problema sem criar outros mais graves.
É claro que não estou aqui pregando o uso indiscriminado de DIVs e SPANs, ou de qualquer outro elemento (X)HTML. Simplesmente estou tentanto mostrar a vocês — de uma maneira meio confusa, confesso, mas até agora não saiu coisa melhor — que, mais que qualquer outra coisa, o bom senso é o que mais importa ao desenvolver páginas para a web.
Estude, produza, treine, trabalhe, pois o bom senso costuma aumentar muito com a experiência. E sempre há margem para aumentá-lo mais e mais.
Compare preços de: jogos de xbox 360, Notebook Rosa, Monitor 22, iPod Touch 8GB, carros volksvagen usados, Câmera Digital Canon, iPod Shuffle, Notebook Intelbras, Notebook Asus Eee PC
Não podia dizer melhor.
Eu também já fui bastante fanático por padrões (e devo dizer, não há muitos meses), e hoje também prefiro partir pro bom-senso. Não só na hora de escrever uma página, mas também na advocacia dos padrões.
Uma hora essas discussões de como XHTML 1.0 Transitional é superior a HTML 4.01 Strict (quando pouquíssimos sabem o que de fato estão fazendo), de como marcação semântica faz seu website magicamente pular para o primeiro lugar de qualquer busca, de como há um detalhe não-semântico no código (numa interminável briga de egos de quem sabe falar mais sobre o assunto) realmente cansam…