Drupalcenter ist kein gültiges HTML
Eingetragen von Linulo (256)
am 28.10.2007 - 04:30 Uhr in
am 28.10.2007 - 04:30 Uhr in
Ich habe mal spaßeshalber einen Check des (X)HTML-Codes von verschiedenen CMS-Sites gemacht. Hier das kommentierte Ergebnis:
- Drupal
- Hauptseite: 6 Fehler, nur ein schwerwiegender (doppelt vergebene ID).
- Deutsche Seite: 40 Fehler. Etliche leichte (HTML statt XHTML, vergessene alt-Attribute), aber auch ungültige Schachtelung (mit vielen Folgefehlern).
- Joomla!
- Hauptseite: 7 Fehler, nur ein schwerwiegender (doppelt vergebene ID).
- Deutsche Seite: 24 Fehler, Schachtelungsfehler, doppeltes Character-Encoding, HTML-Syntax (statt XHTML).
- typo3
- Hauptseite: 21 Fehler, hauptsächlich harmlos, aber auch Schachtelungsfehler.
- Deutsche Seite: 3 Fehler. Doppeltes Character-Encoding, doppelt vergebene ID.
- Plone
- Hauptseite: Gültiges XHTML.
- Plone scheint keine offizielle deutsche Site zu besitzen
Das ist überraschend katastrophal. Bei offiziellen Sites von Web-Experten wird Besseres erwartet. Das kann's noch nicht sein, da müssen wir ran!
- Anmelden oder Registrieren um Kommentare zu schreiben
Uii
am 28.10.2007 - 07:05 Uhr
Mit so vielen Fehlern hätte ich bei DC nicht gerechnet. Das ist ja noch ein weiterer Grund "hier":http://www.drupalcenter.de/node/5944 aktiv zu werden. ;-)
=> YAML?
am 28.10.2007 - 12:39 Uhr
Vielleicht einfach Yaml für Drupal einsetzen...?
Jetz habe ich gesehen, das wird ja => http://www.drupalcenter.de/node/5944 diskutiert......
YAML sorgt ja nicht
am 28.10.2007 - 13:31 Uhr
YAML sorgt ja nicht automatisch für 100%ige Validität, denn schließlich muss der Inhalt ja auch gemarkupt werden und one size doesn't fit it all. Abgesehen davon muss man keine Frameworks benutzen um validen Code zu bekommen. Den kann man ganz flott runterschreiben, ggf. Theme-Funktionen und eigene Module anpassen und gut iss.
Die meisten Fehler, die ich beim Überfliegen so sehe, sind recht banal. Da fehlt mal ein "/" im img-Tag, welches in XHTML sein muss, weil sonst kein valides XML ist und dann wurde mal falsch geschachtelt und dann mal im Nachhinein nicht drauf geachtet, dass man XHTML Strict 1.0 verwenden wollte...
Im Grunde nichts weltbewegendes.
"I invented the term Object-Oriented, and I can tell you I did not have C++ in mind." -Alan Kay
Suchmaschinenoptimierung (SEO) & Drupal
Valides (X) HTML
am 07.11.2007 - 23:21 Uhr
Ja, das Thema verfolgt das Web seit es Browser gibt.
Z.T. liegt es auch an den Modulen, die einfach Keinen sauberen Code erzeugen. Da hilft es letztlich nur patches zu schreiben ..
Suchmaschinen und andere Werkzeuge: Braile-Zeilen, Screenreader, Proxies für Handys etc. lieben validen Code.
Der erste Schritt kann ja für jedes Modul der sein, erst einmal einen Bug aufzumachen.
Wäre schön, wenn es Drupal gelingen würde nur sauberen code rauszuwerfen.
Momentan hilft vielleicht etwas http://drupal.org/project/htmltidy
CU
Thomas
Thomas Zahreddin
Zitat: Der erste Schritt
am 08.11.2007 - 00:16 Uhr
Der erste Schritt kann ja für jedes Modul der sein, erst einmal einen Bug aufzumachen.
Na schoen. Und dann passiert nichts. Habe das schon oft erlebt. Momentan poste ich fast keine Bugs mehr - hab einfach keine Lust mehr auf die gottgleiche Mentalitaet mancher Maintainer einzugehen.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
HTML aus Modulen
am 08.11.2007 - 02:32 Uhr
Z.T. liegt es auch an den Modulen, die einfach Keinen sauberen Code erzeugen.
Ich weiß nicht, ob ich ein ausreichendes Verständnis der Drupal zugrundeliegende Philosophie habe, aber ich finde, dass Module überhaupt kein HTML erzeugen sollten.
Beispiel: Ein Sprach-Umschalt-Modul. Natürlich könnte ein solches Modul so etwas ausgeben:
$language_switcher:
<ul class="language_switcher">
<li><a href="/language/en"><img src="en.gif" alt="English"/></a></li>
<li><a href="/language/de"><img src="de.gif" alt="Deutsch"/></a></li>
</ul>
Viel besser wäre aber so etwas:
$language_switcher_basepath: '/language'
$language_switcher:
array(
[0] => array('code' => 'en', 'description' => 'English'),
[1] => array('code' => 'de', 'description' => 'Deutsch')
)
oder meinetwegen auch
$language_switcher:
array(
'en' => 'English',
'de' => 'Deutsch'
)
Ich würde soweit gehen zu sagen, dass Module, die HTML ausgeben, fehlerhaft sind. Einige Leute geben alles Mögliche mit phptemplate aus: XML, SVG, WML, Flex, XAML, vielleicht sogar Flash (per Ming). Wenn schon HTML dann sollten die Daten wenigstens zusätzlich noch ohne HTML drumherum verfügbar gemacht werden.
Die Gestaltung von Arrays
am 08.11.2007 - 02:59 Uhr
Die Gestaltung von Arrays ist seitens Drupal vorgegeben bzw. reglementiert.
Das Beispiel des Language Switcher, arbeite gerade an Handbuchseiten dafuer und bin deswegen damit grad gut drauf, wird eine Theme Funktion verwendet. Allein durch die Theme Funktionalitaet wie auch die Verwendung existierender Drupalfunktionen und der Aufruf einer weiteren Theme Funktion innerhalb dieser Theme Funktion entsteht eine Situation, die einen gewissen Code-Style vorgibt.
Da der HTML-Code des Language-Switcher durch 2 Theme Funktionen ausgegeben wird kann jeder mittels Template seine eigenen Codevorstellungen realisieren.
Gerade das Verwenden bereits existierender Drupal Funktionen macht auch den Aspekt der relativ hohen Code-Sicherheit von Drupal aus. Das ist genau das Problem bei Joomla. Bei Joomla gibt es dies mit dieser konsequenten Auspraegung nicht und jeder kann nach eigenem Gusto Coden - egal wie und sehr oft mit sicherheitkritischem Code als Ergebnis.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Erste Schritte
am 08.11.2007 - 08:43 Uhr
Doch ;-) andere können den Bug lesen und tappen nicht in das gleiche Problem, es fällt irgendwann auf (so ca. 6-8 Monate) dass der Maintainer nichts tut und dann wir ein neuer gesucht, vorwiegend aus dem Kreis der Leute, die patches eingereicht haben (vielleicht der zweite Schritt? ;-) ) oder das Modul stirbt weil es andere oder bessere Möglichkeiten gibt. Wenn ein Patch eingereicht wurde steht es jedem frei diesen zu nutzen, hier profitiert die Community sofort, auch wenn ein Maintainer mal nicht so arbeitet wie er sollte.
Fazit: Es läuft oft langsamer als uns lieb ist und jeder Beitrag ist wichtig, damit es vorangeht.
Danke für Dein Posting, das mir Anlass gab dies hier zu schreiben.
Herzliche Grüße
Thomas
Thomas Zahreddin