Pregunta

Estoy construyendo un sitio ahora mismo, hasta ahora he forzado dolorosamente que todo sea compatible y se ve prácticamente igual en todos los navegadores.Sin embargo, estoy empezando a implementar algunos javascripts gratuitos/de terceros que hacen cosas como agregar atributos (por ejemplo,orden=2).Podría solucionar esto, pero es una molestia y estoy empezando a perder mis principios de asegurarme de que todo sea válido.Realmente, ¿tiene algún sentido solucionar algo como esto?Obtuve el complemento HTMLValidator para Firefox y, al mirar la mayoría de los sitios principales (incluido este, Google, etc.), no son XHTML o HTML válidos.

¿Fue útil?

Solución

Todavía tengo que experimentar un caso en el que la adición de un atributo no estándar haya causado un problema de representación en cualquier navegador.

No intente evitar esos atributos no estándar.Los validadores son útiles como herramientas para verificar su código en busca de errores involuntarios, pero como todos sabemos, incluso xhtml completamente válido no siempre se mostrará de manera consistente en todos los navegadores.Hay muchas ocasiones en las que las decisiones de diseño requieren que utilicemos trucos específicos del navegador (y no estándar) para lograr un efecto.Esta es la vida de un desarrollador web, como lo demuestra la cantidad de sitios que impulsan la tecnología (google, yahoo, etc.) que no validan.

Otros consejos

La validación es útil para determinar cuándo las cosas no cumplen con los estándares con los que usted presumiblemente está de acuerdo.Si está utilizando intencionalmente una herramienta que agrega específicamente algo que no está en los estándares de validación, obviamente eso no viola su acuerdo de estándares personales.

Esta discusión se vuelve mucho más difícil si tienes un jefe o un cliente que cree que todo debería recibir luz verde, ya que tendrás que explicarles lo anterior y convencerlos de que no eres simplemente un vago.

Dicho esto, asegúrese de que no se trate simplemente de un caso de pereza.Si bien los validadores pueden mostrar constantemente y de manera molesta cada instancia del atributo de terceros, eso no invalida (ja) los otros errores de validación que mencionan.A menudo vale la pena escanearlo como medio para volver a verificar su trabajo.

El cumplimiento de los estándares consiste en aumentar las posibilidades de que su página funcione en los navegadores con los que no realiza pruebas.Esto incluye lectores de pantalla y la próxima actualización de los navegadores que prueba, y los navegadores que prueba pero que el usuario ha configurado de forma inesperada.

La validación no le garantiza nada, ya que es posible que su página se valide pero aún sea lo suficientemente ambigua como para que algún día no se comporte como usted desea en algún navegador.

Sin embargo, si su página se valida, al menos tendrá la fuerza de la especificación XHTML que indica cómo debe comportarse.Si no se valida, todo lo que tiene es un montón de convenciones informales entre los escritores de navegadores.

Probablemente sea mejor escribir HTML 3 válido que XHTML no válido, si hay algo que desea hacer y que está permitido en uno pero no en el otro.

Si planea aprovechar XHTML como XML, entonces vale la pena hacer que sus páginas sean válidas y estén bien formadas.De lo contrario, probablemente lo que usted desee sea el HTML semántico antiguo y simple.De cualquier manera, las necesidades de su audiencia superan las necesidades de un validador.

Sólo tenga en cuenta que la etiqueta XHTML se representa de manera diferente en la mayoría de los navegadores que si no la tuviera.El atributo DOCTYPE determina en qué modo representa el navegador y dicta qué está permitido y qué no.Si se desvía del cumplimiento de XHTML, asegúrese de volver a realizar la prueba en todos los navegadores.

Personalmente, me atengo a los últimos estándares siempre que sea posible, pero hay que sopesar el tiempo y el dinero con respecto al cumplimiento, y para la mayoría todo se reduce a las preferencias personales.

En lo que respecta a los navegadores, el cumplimiento de XHTML no tiene sentido porque:

  1. Los navegadores no tienen analizadores XHTML.Tienen analizadores HTML compatibles con la web y no específicos de la versión que construyen un DOM alrededor del http://www.w3.org/1999/xhtml espacio de nombres.

  2. Algunos navegadores que tienen analizadores XML pueden tratar el marcado XHTML servido como aplicación/xhtml+xml como XML.Esto tomará el XML y dará estilo y comportamiento HTML predeterminado a los elementos en el http://www.w3.org/1999/xhtml espacio de nombres.Pero, en lo que respecta al análisis, no tiene nada que ver con XHTML.Se siguen las reglas de análisis XML, no algunas reglas de DTD XHTML.

Entonces, cuando usas el marcado XHTML, estás dando algo extraño a los navegadores y estás viendo si sale como deseas.La cuestión es que puedes hacer esto con cualquier marcado.Si se procesa según lo previsto y produce el DOM correcto, lo estás haciendo bastante bien.Solo debe asegurarse de tener en cuenta el cambio de DOCTYPE y asegurarse de no depender de un error del navegador (para que las cosas no se desmoronen en los navegadores que no tienen el error).

Para lo que sirve el cumplimiento de XHTML es para comprobar la sintaxis (mediante validación) para ver si el marcado está bien formado.Esto ayuda a evitar errores de análisis.Por supuesto, esto también se puede hacer con HTML, por lo que XHTML no tiene nada de especial en este caso.De cualquier manera, todavía hay que realizar pruebas en los navegadores y esperar que los proveedores de navegadores creen analizadores HTML increíbles que puedan aceptar todo tipo de basura.

Lo que no es inútil es intentar ajustarse a lo que esperan los navegadores.HTML5 ayuda en este gran momento.Y, hablando de HTML5, puedes definir todos los atributos personalizados que quieras.Simplemente prefiérales datos-, como en <p data-order="Este es un atributo personalizado válido.">prueba</p>.

Ser HTML válido suele ser de ayuda tanto para usted como para el motor de renderizado del navegador.Cuantas menos peculiaridades tengan que afrontar los navegadores, más podrán centrarse en añadir nuevas funciones.Cuanto más estricto sea, menos tiempo pasará preguntándose por qué esta maldita etiqueta propietaria no funciona en los otros navegadores.

Por otro lado, XHTML es, en mi humilde opinión, más inútil, excepto si planeas integrarlo dentro de algún documento XML.Como IE todavía no lo reconoce, es bastante inútil seguir adelante.

Creo que escribir "código válido" es importante, simplemente porque estás dando ejemplo al seguir las reglas.Si todos los desarrolladores hubieran escrito código para Fx, Safari y Opera, creo que IE tendría que "empezar a seguir las reglas" antes que con la versión 8.

Intento escribir código compatible la mayor parte del tiempo sopesando el tiempo/costo frente a las necesidades de la audiencia en todos los casos menos uno.Cuando su código debe ser compatible con 503, lo mejor para usted y el interés de su audiencia es escribir código compatible.Me he encontrado con un montón de lectores de pantalla que explotan cuando el código está ligeramente incorrecto.

Como decía la mayoría de los carteles, en realidad se trata de lo que necesita tu audiencia.

No es inútil de ninguna manera, pero hay muchas justificaciones para romperlo.Durante las etapas iniciales del desarrollo de CSS, es muy útil para diagnosticar problemas del navegador si su marcado es válido.Más allá de eso, si quieres hacer algo y crees que el método más apropiado es romper la validación, normalmente está bien.

Una alternativa al uso de atributos personalizados es utilizar el atributo 'rel'; para ver un ejemplo, consulte Litebox (y sus parientes).

Claro, siempre puedes seguir adelante y escribirlo de la manera que quieras, asegurándote de que, como mínimo, funcione.Por supuesto, ya hemos sufrido esta mentalidad y hemos sido testigos de su resultado, Internet Explorer 6.

soy un gran admirador del Enfoque de Mike Davidson para el desarrollo orientado a estándares.

El hecho de que puedas validar tu código no significa que seas mejor que nadie.Diablos, eso ni siquiera significa necesariamente que escribas mejor código que nadie.Alguien que pueda escribir una aplicación bancaria completamente en Flash es mejor codificador que usted.Alguien que pueda integrar código de terceros en un entorno de publicación complicado es mejor codificador que usted.Piense en la validación como el uso de una gramática perfecta;le ayuda a transmitir sus ideas y es una señal de una buena educación, pero no es tan importante como las ideas y conceptos que piensa y posteriormente comunica.La persona más carismática y posiblemente más inteligente para la que he trabajado era del Sur y usaba la palabra "no es" con bastante regularidad.Eso no lo hizo menos inteligente y, de hecho, lo hizo más memorable.Entonces, todo lo que digo es que hay muchas cosas por las cuales juzgar a alguien... la validación es una de ellas, pero ciertamente no la más importante.

Mucha gente malinterpreta esta publicación en el sentido de que no debemos codificar según los estándares.Obviamente deberíamos hacerlo, pero no es algo en lo que realmente debamos pensar.El ejército de validación Siempre denunciaremos aquellos que no validan, pero la validación significa mucho más que un código válido.

Por lo tanto, no pierda sus principios, pero recuerde que si sigue los estándares, es mucho menos probable que termine metido en problemas en el futuro.El contenido que intenta proporcionar es mucho más importante que cómo se muestra.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top