Frage

Ich erstelle gerade eine Website. Bisher habe ich mühsam dafür gesorgt, dass alles konform ist, und sie sieht in allen Browsern ziemlich gleich aus.Allerdings fange ich an, einige Javascripte von Drittanbietern/kostenlos zu implementieren, die Dinge wie das Hinzufügen von Attributen (z. B.Bestellung=2).Ich könnte das umgehen, aber es ist mühsam und ich verliere langsam meine Grundsätze, sicherzustellen, dass alles gültig ist.Ist es wirklich sinnvoll, so etwas zu umgehen?Ich habe das HTMLValidator-Plugin für Firefox und als ich mir die meisten großen Websites ansah (einschließlich dieser, Google usw.), stellten sie fest, dass sie kein gültiges XHTML oder HTML sind.

War es hilfreich?

Lösung

Ich habe noch eine Instanz zu erfahren, wo die Zugabe eines Nicht-Standard-Attributs ein Rendering-Problem in jedem Browser verursacht hat.

Versuchen Sie nicht, um diese Nicht-Standard-Attribute zu arbeiten. Validatoren sind praktisch, da Tools, um Ihren Code für unbeabsichtigte Fehler zweimal zu überprüfen, aber wie wir alle wissen, auch in vollem Umfang gültig xhtml wird nicht immer konsequent in allen Browsern machen. Es gibt viele Male, wenn Design-Entscheidungen verlangen von uns, browserspezifische zu verwenden (und Nicht-Standard) hackt eine Wirkung zu erzielen. Das ist das Leben eines Web-Entwicklers, wie durch die Anzahl der Technologie Fahr Websites belegt (Google, Yahoo, etc.), die nicht validiert werden.

Andere Tipps

Die Validierung ist nützlich, um zu bestimmen, wenn die Dinge scheitern Standards gerecht zu werden, mit Ihnen vermutlich zustimmen. Wenn Sie gezielt ein Werkzeug verwenden, das etwas hinzufügt speziell nicht in den Validierungsstandards, offensichtlich, dass nicht Ihre persönliche Standard Vereinbarung brechen.

Diese Diskussion wird viel schwieriger, wenn Sie einen Chef oder einen Client haben, der alles glaubt, sollte das grüne Licht zurückkehren, wie Sie die oben ihnen erklären müssen werde und sie davon überzeugen, es ist einfach nicht Sie faul.

Wie gesagt, sicher sein, es ist einfach nicht der Fall sein, Sie faul. Während die Validierer annoyingly ständig jede Instanz des Dritten Attribut bringen kann, dass nicht ungültig (ha) die anderen Fehler Validierung sie zu erwähnen. Oft ist es wert Abtastung durch als Mittel der doppelten Kontrolle Ihrer Arbeit.

Einhaltung von Standards ist über die Chance zu erhöhen, dass Ihre Seite in den Browsern werden Sie gegen nicht testen. Dazu gehören Screen-Reader, und das nächste Update der Browser Sie Test tun gegen und Browser, die Sie tun Test gegen die aber auf unerwartete Weise durch den Benutzer konfiguriert wurden.

Validieren garantieren Ihnen nichts, da es möglich ist, für Ihre Seite, aber immer noch ausreichend mehrdeutig sein zu bestätigen, dass es so, wie Sie es nicht so verhalten, wollen auf einige Browser eines Tages.

Allerdings, wenn Ihre Seite nicht bestätigen, Sie haben zumindest die Kraft der XHTML-Spezifikation zu sagen, wie es sich verhalten soll. Wenn es nicht validiert ist, alles, was Sie haben, ist eine Reihe von informellen Konventionen zwischen Browser Schriftstellern.

Es ist wahrscheinlich besser, um gültige HTML 3 als ungültig XHTML zu schreiben, wenn es etwas, das Sie ist tun möchte, was in einem erlaubt, aber nicht die anderen.

Wenn Sie die Vorteile von XHTML auf Aufnahme als XML-Planung sind, dann lohnt es sich Ihre Seiten gültig und gut ausgebildet zu machen. Ansonsten nur alte semantische HTML ist wahrscheinlich wollen Sie wollen. So oder so, die Bedürfnisse der Zielgruppe überwiegen die Bedürfnisse des Prüfers.

Bedenken Sie jedoch, dass das XHTML-Tag in den meisten Browsern anders dargestellt wird, als wenn es nicht vorhanden wäre.Das DOCTYPE-Attribut bestimmt, in welchem ​​Modus der Browser rendert und legt fest, was erlaubt ist und was nicht.Wenn Sie von der XHTML-Konformität abweichen, stellen Sie sicher, dass Sie den Test in allen Browsern erneut durchführen.

Persönlich halte ich mich nach Möglichkeit an die neuesten Standards, aber man muss auf jeden Fall Zeit/Geld gegen die Einhaltung abwägen und für die meisten kommt es auf die persönlichen Vorlieben an.

Soweit Browser betroffen sind, XHTML Compliance dass sinnlos ist:

  1. Browser nicht über XHTML-Parser. Sie haben nicht versionsspezifische, webfähigen HTML-Parser, der eine DOM um den http: // www .w3.org / 1999 / xhtml Namespace.

  2. Einige Browser, die XML-Parser haben XHTML Markup als application / xhtml + xml als XML diente behandeln. Dadurch wird die XML nehmen und Standard-HTML-Stil und Verhalten auf Elemente in dem http geben: //www.w3. org / 1999 / xhtml Namespace. Aber so weit wie Parsing geht, hat es nichts mit XHTML zu tun. XML-Parsing Regeln befolgt werden, nicht einige Regeln des XHTML DTD.

Wenn Sie also XHTML Markup verwenden, sind Sie etwas fremd Browsern zu geben und zu sehen, wenn es darum geht, wie Sie möchten. Die Sache ist, Sie kann mit jedem Markup dies zu tun. Wenn es wie beabsichtigt macht und erzeugt die richtige DOM, tust du ziemlich gut. Sie müssen nur sicherstellen, dass DOCTYPE Schalt im Auge behalten und sicherstellen, dass Sie nicht auf einem Browser Bug angewiesen sind (so Dinge in Browsern nicht auseinander fallen, die nicht die Fehler haben).

Was XHTML Compliance ist gut für die Syntaxprüfung ist (durch die Validierung) zu sehen, ob das Markup gut ausgebildet ist. Dies hilft Parsingfehlern zu vermeiden. Natürlich kann dies auch mit HTML getan werden, so gibt es nichts besonderes zu XHTML in diesem Fall. So oder so, haben testen Sie noch in Browsern und Hoffnung Browser-Hersteller machen ehrfürchtigen HTML-Parser, der alle Arten von Mist akzeptieren kann.

Was nicht sinnlos ist versucht, zu entsprechen, welchen Browser erwarten. HTML5 hilft mit dieser großen Zeit. Und von HTML5 zu sprechen, können Sie festlegen, benutzerdefinierte alle Attribute, die Sie wollen. Präfix sie nur mit Daten-, wie in

test

.

Das HTML Es gilt in der Regel eine Hilfe für Sie beide und den Browser-Rendering-Engine. Je weniger Macken der Browser zu tun haben, desto mehr können sie sich auf das Hinzufügen neuer Funktionen konzentrieren. Je strenger Sie sind, desto weniger Zeit haben Sie Zeit fragen, warum dies f @ # cking eigener Tag funktioniert nicht in den anderen Browsern verbringen werden.

Auf der anderen Seite ist XHTML, IMHO, mehr sinnlos, es sei denn, Sie planen, es zu integrieren, in einigen XML-Dokument. Wie IE immer noch nicht erkennt, ist es ziemlich nutzlos Stick zu bleiben mit.

Ich denke, „gültigen Code“ ist wichtig zu schreiben, nur weil Sie ein Beispiel ist einstellen, indem sie die Regeln. Wenn jeder Entwickler Code für Fx, Safari und Opera geschrieben hatte, glaube ich, IE mußte „beginnen nach den Regeln“ früher als mit der Version 8.

Ich versuche, schreiben konformen Code die meiste Zeit gegen die Bedürfnisse des Publikums, die Zeit / Kosten Wiegen in allen Fällen aber ein. Wo Sie Code muss 503 konform sein, ist es in Ihrem besten Interesse und das Interesse des Publikums konformen Code zu schreiben. Ich habe über ein Bündel von Screenreadern kommen, die Luft zu sprengen, wenn der Code sogar leicht ausgeschaltet ist.

Wie die meisten der Plakate sagte, es ist wirklich alles, was Ihr Publikum braucht.

Es ist mit allen Mitteln nicht sinnlos, aber es gibt genügend Rechtfertigung es für das Brechen. Während der Anfangsphase der CSS Entwicklung ist es sehr nützlich für die Diagnose von Browser-Probleme, wenn Ihr Markup gültig ist. Darüber hinaus, wenn Sie etwas tun wollen und Sie fühlen sich die am besten geeignete Methode ist, um die Validierung zu brechen, das ist in der Regel in Ordnung.

Eine Alternative zur Verwendung von benutzerdefinierten Attributen, ist die Verwendung des ‚rel‘ Attribut zu machen, für ein Beispiel finden Sie unter LiteBox (und seine kin).

Natürlich könnten Sie immer nur voran gehen und schreiben Sie es in der Art und Weise Sie wollen, um sicherzustellen, dass bei mindestens funktioniert es. Natürlich haben wir schon diese Mentalität gelitten haben und seinen Ausgang, Internet Explorer 6 erlebt.

Ich bin ein großer Fan der Mike Davidson Ansatz zur standardorientierte Entwicklung .

  

Nur weil Sie Ihren Code validieren können, bedeutet nicht, dass Sie besser sind als alle anderen. Heck, es ist nicht einmal unbedingt, dass Sie besseren Code als alle anderen schreiben. Jemand, der eine Bankanwendung vollständig in Flash schreiben kann, ist ein besserer Coder als Sie. Jemand, den Code von Drittanbietern in eine komplizierte Publishing-Umgebung integrieren kann, ist ein besserer Coder als Sie. Denken Sie an die Validierung als perfektes Bild Grammatik; es hilft Ihnen über Ihre Ideen zu bekommen und ist ein Zeichen für eine gute Ausbildung, aber es ist nicht annähernd so wichtig wie die Ideen und Konzepte, die Sie denken und anschließend kommunizieren. Die charismatischsten und vielleicht klügste Mensch, den ich jemals gearbeitet habe war aus dem Süden und verwendete das Wort „nicht“ ziemlich regelmäßig. Es machte ihn nicht minder intelligent, und in der Tat, es machte ihn unvergesslich. Also alles, was ich zu sagen habe ist, gibt es viele Dinge gibt, jemanden zu beurteilen, auf ... Validierung ist einer von ihnen, aber sicherlich nicht das wichtigste.

Eine Menge Leute mißverstehen diesen Beitrag zu bedeuten, dass wir nicht den Normen Code sollte. Wir sollten, natürlich, aber es ist nicht etwas, das auch wirklich zu denken sollte. Die Validierung Armee wird immer diejenigen anprangern, die Validierung nicht, aber die Validierung bedeutet so viel mehr als gültige Code.

Also, verlieren Sie nicht die Prinzipien, aber denken Sie daran, dass, wenn Sie die Standards folgen Sie viel weniger sind wahrscheinlich in dem Tief Ende der Probleme in der Zukunft enden. Der Inhalt, den Sie bieten möchten, ist viel wichtiger, als wie es angezeigt wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top