Frage

Ich habe bemerkt, eine Menge von Websites, SO enthalten, verwenden Sie XHTML als Ihre mark-up language und dann nicht eingehalten der spec.Nur durchsuchen Sie die Quelle für SO fehlende End-tags für Absätze, die ungültige Elemente, etc.

So sollten die Werkzeuge (und Entwickler) verwenden Sie den XHTML-doctype-wenn Sie gehen, um zu produzieren ungültig markieren kann?Und sollte Browsern werden mehr fest in Ihrer Akzeptanz der Armen mark-up?

Und bevor jemand schreit Heuchler, mein blog hat ein Stück von ungültigen mark-up mit der captha (oder Tat es das Letzte mal habe ich geprüft) umfasst die Gestaltung des noscript-tag.

War es hilfreich?

Lösung

Es gibt viele Gründe zu verwenden gültiges markup.Mein Favorit ist, dass es ermöglicht die Validierung verwenden, als eine form der regression testing, verhindern, dass das markup-äquivalent "delta-rot" von führenden real-rendering-Probleme, wenn der Fehler erreicht kritische Masse.Und wirklich, es ist einfach nur schlampig, damit "faul" Fehler wie Tippfehler und mis-nested/nicht geschlossene tags, zu sammeln.Gültig markup ist ein Weg, um zu identifizieren, leidenschaftliche Programmierer.

Es gibt auch die Ausgabe von debugging:gültig markup gibt Ihnen auch eine stabile Basis für die Arbeit auf den unvermeidlichen cross-browser-Kompatibilität leiden.Kein web-Entwickler, der Werte seiner Zeit beginnen sollte debugging-browser-Kompatibilität Probleme, ohne zuerst sicherzustellen, dass das markup ist mindestens syntaktisch gültig—und andere ungültigen markup sollte einen guten Grund haben, dort zu sein.

(Übrigens, stackoverflow.com scheitert diese beiden tests und Anregungen, um die Probleme zu beheben waren abgelehnt.)

All das sagte, um Antwort auf Ihre spezifische Frage, es ist wahrscheinlich nicht lohnen, verwenden Sie eine der XHTML-doctypes, es sei denn, Sie planen, zu produzieren gültigen (oder bei mindestens well-formed) markup.XHTML primären Vorteile ergeben sich aus der Tatsache, dass XHTML ist XML, so dass Sie verarbeitet werden und verwandelt durch die Werkzeuge und Technologien, die die Arbeit mit XML.Wenn Sie don nicht plan, um Ihren XHTML wohlgeformte XML -, dann gibt es wenig Sinn, bei der Auswahl, dass die doctype -.Die neueste HTML-4-Spezifikation wird wahrscheinlich alles, was Sie tun müssen, und es ist viel mehr zu vergeben.

Andere Tipps

Wir sollten immer versuchen, es zu machen überprüfen nach standards.Wir werden sicher sein, dass die website angezeigt werden und funktionieren auf allen gängigen Browsern UND Browser Zukunft.

Ich glaube nicht, dass, wenn Sie geben Sie einen doctype, gibt es irgendein Grund, nicht zu halten doctype.

Mit XHTML macht eine automatische Fehlererkennung einfach, jede änderung kann automatisch überprüft, ungültige markup.Dies verhindert Fehler, insbesondere bei der Verwendung von automatisch generierten Inhalte.Es ist wirklich einfach, einen web-Entwickler mit einer Template-engine (JSP, ASP.NET StringTemplate, etc.) zu kopieren/fügen Sie eine schließende tag zu wenig oder zu viele.Wenn dies Ihre einzige Fehler, es können werden erkannt und sofort behoben.Ich arbeitete einmal für eine Website, die hatte 165 Validierung Fehler pro Seite, von denen 2 oder 3 waren wirkliche bugs.Diese waren schwer zu finden in der Unordnung der anderen Fehler.Die automatische Validierung der verhindert hätte, diese Fehler in der Quelle.

Unnötig zu sagen, die Wahl eines standard-und bleibe es kann nie profitieren, die die Interoperabilität mit anderen Systemen (screen scraper, Screenreader, Suchmaschinen), und ich habe nie kommen über eine situation, wo Sie einen gültigen semantischen XHTML mit CSS-Lösung nicht möglich war, für alle gängigen Browser.

Offensichtlich, bei der Arbeit mit komplexen Systemen, es ist nicht immer möglich, bleiben Sie bei Ihrem doctype, aber dies ist meistens ein Ergebnis von unsachgemäßer Kommunikation zwischen den verschiedenen teams entwickeln verschiedene Teile dieser Systeme, oder, am wahrscheinlichsten, von legacy-Systemen.Im letzten Fall ist es wahrscheinlich besser, diese zu isolieren Fälle und ändern doctype entsprechend.

Es ist gut, pragmatisch zu sein und sich nicht zu XHTML, nur weil jemand gesagt hat, unabhängig von Kosten, aber mit den derzeitigen Kenntnisse über CSS und Browser, Test-und Validierungs-tools, die meisten der Zeit, die Vorteile sind viel größer als die Kosten.

Man kann sagen, dass ich eine Zwangsstörung auf XHTML Gültigkeit.Ich finde, dass die meisten Probleme mit den code nicht gültig kommt vom Programmierer nicht wissen, der Unterschied zwischen HTML und XHTML.Ich Schreibe 100% valides XHTML und CSS oder eine Weile jetzt, und hatte noch nie irgendwelche größeren Probleme bei Darstellung mit anderen Browsern.Wenn Sie halten alles, was gültig ist, und versuchen Sie nicht, etwas zu exotisch css Weise, Sie sparen sich eine Menge Zeit behebt.

Ich würde nicht verwenden XHTML überhaupt nur zu retten, selbst die philosophischen stress.Es ist nicht wie alle Browser behandeln Sie es wie XHTML sowieso.

Browser ablehnen Armen mark-up, wenn die Seite gesendet wird als application/xhtml+xml, aber Sie sind selten.Das ist in Ordnung.

Ich wäre mehr besorgt über Dinge wie inline-CSS-und JavaScript-Stack Overflow, nur weil Sie die Wartung schwieriger.

Obwohl ich glaube, im Streben nach einer gültigen XHTML-und CSS, es ist oft schwierig für eine Reihe von Gründen.

  • Zunächst einige der Inhalte geladen werden konnte via AJAX.Manchmal Fragmente nicht richtig in das vorhandene DOM.
  • Das HTML, das Sie anzeigen möchten, kann nicht alle wurden produziert im selben Dokument.Für Beispiel, die Seite könnte gemacht werden up Komponenten, oder Vorlagen, die dann zusammen geworfen rechts, bevor der browser rendert es.Das ist keine Ausrede, aber Sie können nicht davon ausgehen, dass der HTML, die Sie sehen wurde von hand kodiert alle auf einmal.
  • Was wäre, wenn einige der generierte code von Markdown ist ungültig?Sie können nicht die Schuld Stack-Überlauf nicht produzieren gültigen code.
  • Schließlich ist der Zweck der DOCTYPE ist nicht einfach zu sagen "Hey, ich bin mit Gültiger code", aber es ist auch zu geben, die der browser ein heads-up, was du versuchst zu tun, so dass es zumindest nahe zu kommen, um korrekt analysieren die Informationen.

Ich glaube nicht, dass die meisten Entwickler geben einen DOCTYPE und dann explizit scheitern, um daran zu halten.

während ich Stimme mit der Stimmung von "wenn es rendert gut, dann machen Sie sich keine sorgen" - Anweisung, aber es ist gut für Folgen ein standard, obwohl es möglicherweise nicht vollständig unterstützt jetzt.Sie können immer noch die Verwendung von Tabellen für das layout, aber es ist nicht gut für einen Grund.

Nein, Sie sollten nicht XHTML verwenden, wenn Sie nicht garantieren können, Wohlgeformtheit, und in der Praxis kann man nicht garantieren, wenn Sie es nicht verwenden XML-serializer zu generieren markup.Lesen über die Herstellung von XML.

Wohlgeformtheit ist die was unterscheidet XHTML von HTML.XHTML mit "nur einem" markup-Fehler nicht mehr zu XHTML. Es muss perfekt sein jedes mal.

Wenn "XHTML" - Seite angezeigt wird, um die Arbeit mit einigen Fehlern, ist es, weil Browser ignorieren DOCTYPE und zu interpretieren und die Seite als HTML.

Finden XHTML proxy das zwingt interpretation von Seiten wie XHTML.Die meisten der Zeit Sie scheitern kläglich.Dies ist einer der Gründe, warum die Zukunft von XHTML ist unsicher und warum die Entwicklung von HTML wurde wieder aufgenommen.

Es hängt davon ab.Ich hatte das Problem mit meinem blog wo Sie ein YouTube-video verursacht XHTML ungültig, aber es gerendert in Ordnung.Auf der anderen Seite habe ich aber auch ein "Valid XHTML" - link, bei dem eine Kombination eines "Valid XHTML" Anspruch und XHTML ungültig ist nicht Professionell.

SO hat nicht den Anspruch, um gültig zu sein, ich denke, es ist akzeptabel, aber persönlich, wenn ich Jeff, ich würde nicht gestört werden und versuchen, es zu beheben, auch wenn es sieht gut aus in modernen Browsern, aber einige Leute eher einfach weiter, und tatsächlich Dinge zu erledigen, anstatt die Befestigung nicht vorhandene bugs.

So lange es funktioniert in IE, FF, Safari, (insert andere browser-hier), sollten Sie in Ordnung sein.Validierung ist nicht so wichtig wie es korrekt gerendert in mehreren Browsern.Nur weil es gültig ist, bedeutet nicht, es werde im IE funktioniert einwandfrei, zum Beispiel.

Führen Sie Google Analytics oder ähnliches auf Ihrer Website und sehen, welche Art von Browser, die Ihre Benutzer verwenden und dann beurteilen, welche Browser Sie unterstützen müssen, die die meisten und sorgen sich um die weniger wichtig sind, wenn man die Freizeit zu tun.

Ich sage, wenn es rendert OK, dann ist es egal, ob es pixel perfekt.

Es dauert eine Weile, um zu bekommen, eine Website zum laufen, wie Sie es wollen, gehen Sie zurück und ändern wird ändern Sie die Art und Weise der Seite macht etwas, dann Sie haben zu beheben ist diese Probleme.

Nun, ich sage nicht, Sie sollten gebaut schlampig web-Seiten, aber ich sehe keinen Grund, das zu reparieren, was nicht kaputt ist.Browsern nicht gehen, um drop-Unterstützung für Fehlerkorrektur in Naher Zukunft.

Ich verstehe nicht, warum sich alle verfangen versuchen, um Ihre Webseiten fit die standard, wenn einige Browser sill haben Probleme richtig rendering-standard-code.Ich habe in der web-design-für so etwas wie 10 Jahre, und ich hielt double codding (Lesen Sie:hacking css), und ändern dumme Zeug nur so konnte ich setzen Sie einen button auf meiner Website.

Ich glaube, dass mithilfe eines < div> wird dazu führen, dass Sie ungültig sein, unabhängig, und es wird ein bisschen schwerer zu tun, alle wichtigen JavaScript - /AJAX-ohne es.

Es gibt so viele standards und Sie sind so schlecht "erzwungen" oder unterstützten, dass ich glaube nicht, dass es darauf ankommt.Versteh mich nicht falsch, ich denke, es sollte standards, sondern weil Sie nicht durchgesetzt werden, niemand folgt Ihnen und es ist eine massive Abwärtsspirale.

Für 99,999% der Websites gibt es wirklich keine Rolle.Das einzige mal, ich habe es egal, ich lief die HTML-Eingabe durch HTMLTidy XHTML-ize, und lief dann mein Verarbeitung auf Sie.

Ziemlich viel, es ist die alte programmer ' s axiom:Vertrauen keinen Eingang.

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