accessCast
CMS und Webstandards
Hallo und herzlich willkommen beim Podcast von ›Einfach für Alle‹, der Aktion Mensch-Initiative für barrierefreies Webdesign. Heute geht's um Content-Management-Systeme und ob und wie sie die Erstellung von sauberen Inhalten unterstützen.
Autor: tc
Am Mikrofon heute Manfred »majo« Heinze, Links zum Selberdrücken gibt's wie immer in der Mitschrift.
Der Text ist als Artikel im Adventskalender der Webkrauts erschienen, wo bis zum 24. Dezember jeden Tag ein neues Türchen zu Themen wie Webstandards, Content Management, Barrierefreiheit, Web 2.0 usw. aufgemacht wird. Einige Artikel werden wir hier in loser Folge auch als Podcast veröffentlichen - heute gibt es einen Artikel von Ansgar Hein zum Thema:
Content-Management und Webstandards
Die Kosten für die Pflege von Websites durch professionelle Webdesigner wären auf Dauer für die meisten Website-Betreiber kaum bezahlbar. Kein Wunder also, dass sich in den vergangenen Jahren Content-Management-Systeme für die Verwaltung von kleinen, mittleren und großen Websites durchgesetzt haben. Von eher statischenen Lösungen zur Verwaltung von Inhalten, bis hin zu datenbankbasierten Web-Content-Management-Systemen (WCMS) reicht die Bandbreite an Editiermöglichkeiten, wobei die meisten Anwendungen im WCM-Bereich modernen Textverarbeitungen in vielen Aspekten sehr ähnlich sind und deren Funktionalitäten zum Teil sogar übersteigen.
Moderne Content-Management-Systeme sind entweder wahre Multi-Talente oder Spezialisten: Für jedes Problem findet sich eine geeignete Lösung, was angesichts von mehr als 1.400 Programmen allein im deutschsprachigen Raum, die bei Contentmanager gelistet sind, nicht weiter verwunderlich ist. Häufig werden Content-Management-Systeme auch als Redaktionssysteme bezeichnet, was den Verwendungszweck besser beschreibt. In der Tat werden vor allem WCMS zunehmend von Redakteuren für die regelmäßige und wiederkehrende Erstellung und Pflege von Website-Inhalten genutzt.
Arbeitserleichterung durch Redaktionssysteme
Neben der gemeinschaftlichen Erstellung und Bearbeitung des Inhalts ermöglicht ein CMS auch dessen Organisation. Durch die Trennung von Inhalt, Struktur und Design tragen Content-Management-Systeme dazu bei, dass eine Ausgabe der Inhalte in verschiedenen Formaten (HTML, PDF, usw.) möglich ist und dabei die Einhaltung eines vorgegebenen Gestaltungsrasters (Corporate Design) gewährleistet bleibt. Je nach Komplexität und Leistungsfähigkeit kommen Benutzer- und Rechteverwaltung sowie die Steuerung ganzer Arbeitsprozesse (Workflows) ebenso hinzu, wie die Erweiterbarkeit durch Module und Funktionen. Insgesamt sind Content-Management-Systeme dazu prädestiniert, Prozesse zu vereinfachen und Qualität zu verbessern.
Leider arbeiten viele Redaktionssysteme jedoch noch immer nicht im Sinne der Webstandards. Anders lässt es sich kaum erklären, dass mehr als 90% aller Internetseiten nicht den aktuellen W3C-Standards für HTML entsprechen, obwohl die entsprechenden HTML-Vorlagen den Anforderungen genügen. In der noch jungen Vergangenheit von Content-Management-Systemen liegt einer der Hauptgründe für die mangelhafte Unterstützung von Webstandards: Die Entwcklung vieler Systeme fällt genau in die Zeit der Browserkriege und ist eng verbunden mit verschachtelten Layout-Tabellen, JavaScript-Lösungen und Frame-Technologie in Front- und Backend. Angetrieben durch die rasante Entwicklung bei Weblogsystemen haben nun zahlreiche Hersteller begonnen Webstandards in ihre Content-Management-Systeme zu integrieren und Funktionen zur Qualitätssicherung bereitzustellen.
Leistungsfähigkeit
Generell gilt: Nahezu jedes Content-Management-System, zumal im Open Source-Bereich, kann standardkonforme und zum Teil sogar barrierefreie Websites ausgeben. Dazu benötigt man Vorwissen, Zeit, sowie geeignete Templates und gute Programmierer, die entsprechende Lösungen direkt im Kern des CMS integrieren, ohne dabei die Update-Fähigkeit des gesamten Systems zu gefährden. Letzteres ist vor allem aus Sicherheits-Aspekten wichtig, denn fast regelmäßig tauchen Sicherheitslücken auf, die von den Herstellern kurzfristig mit Bugfixes und Updates beseitigt werden. Schlecht wäre es da, wenn die Updates nicht installiert werden könnten, um die Standardkonformität oder die Barrierefreiheit nicht zu gefährden.
Inzwischen werden immer häufiger standardkonforme Weblog-Systeme mit viel Aufwand zu Content-Management-Systemen aufgerüstet, so dass Standardkonformität und Barrierefreiheit im Mittelpunkt stehen und die Erweiterbarkeit sowie die Bedienbarkeit für den Redakteur ins Hintertreffen geraten. Es droht ein schwieriger Spagat zwischen Funktionalität und Webstandards, daher hier ein paar Tipps, wie man als Webstandardista ein geeignetes Content-Management-System findet und damit auch glücklich wird.
Anforderungen: Worauf man achten sollte
In Anbetracht der Tatsache, dass Open Source-Systeme einen großen Verbreitungsgrad erlangt haben und von kleinen bis hin zu großen Websites nahezu jedes Einsatzgebiet abdecken und überdies in den meisten Fällen kostenlos zu haben sind, fokussieren wir uns bei den Betrachtungen auf Systeme aus diesem Bereich. Häufig kommen Content-Management-Systeme ohne Workflow-Verwaltung aus, da die meisten Redaktionen nur aus wenigen Mitarbeitern bestehen und die notwendigen Informationen schneller und effizienter ausgetauscht werden können, zum Beispiel via E-Mail.
Schauen wir also zuerst auf die Ausgabe der Inhalte in Form einer gestalteten Website, im Folgenden mit Frontend bezeichnet, denn die detailgetreue und mediengerechte Umsetzung spielt für Kunden und Gestalter gleichermaßen eine wichtige Rolle. Doch auch die Qualität des ausgegebenen Quelltextes ist von Bedeutung:
- Valider Quellcode
Produziert das Content-Management-System validen Quellcode entsprechend den Richtlinien des W3C und gilt diese Aussage auch für Module? Und neben der Validität: Ist der Quelltext frei von Layout-Tabellen und Frames bzw. ist dies mit dem CMS möglich? - Saubere URLs
Gibt es eine Möglichkeit, saubere URLs statt eines Kauderwelschs aus Zahlen, IDs, Ampersands (Und-Zeichen [&]) oder dergleichen auszugeben, ggf. auch als Erweiterung? - Navigation
Können Menüs beliebig abgebildet werden und sind aktivierte Menüpunkte als Nicht-Links darstellbar? Sind mehrere Menüs unabhängig voneinander möglich? - Bilder
Sind alle Bilder mit sinnvollen Alternativtexten hinterlegt (zum Beispiel nichtalt="bild_29_01_2006.jpg"
)? - Suchfunktion
Gibt es eine Suchfunktion ggf. auch als Erweiterung) und wenn ja, sind die Suchergebnisse sinnvoll strukturiert?
Nicht immer sind alle diese Funktionen und Features anhand einer Demo-Seite oder anhand der Beschreibung des Content-Management-Systems ersichtlich. In den meisten Fällen kommt man daher um eine genauere Betrachtung des Backends (Administration) nicht herum, um herauszufinden, was ein System leisten kann und was nicht. Wem die eigenhändige Installation auf einem Testserver zu mühsam ist, der kann sich mit einem Besuch bei OpenSourceCMS.com weiterhelfen lassen: Dort findet man eine Auswahl von mehr als 140 Content-Management-Systemen aus dem Open Source-Bereich, inklusive einer lebhaften Community und deren Bewertungen sowie der Möglichkeit, die Systeme im Front- und Backend zu testen. Natürlich kann man auch selbst eine Installation anlegen, um herauszufinden, ob ein bestimmtes Redaktionssystem den Anforderungen entspricht. Oftmals kann es auch hilfreich sein, in den entsprechenden Foren, Wikis, Hilfeseiten und Handbüchern nachzulesen, welche Funktionen ein CMS zur Verfügung stellt und wie man diese zur Sicherstellung von Webstandards beziehungsweise Barrierefreiheit nutzen kann.
Qualitätssicherung über alles
Letzten Endes geht es darum, geeignete Verfahren zur Qualitätssicherung zur Hand zu haben und zwar möglichst auf allen Stufen eines Prozesses. Idealerweise sollte ein Redakteur, der mit der Erstellung und Pflege von Inhalten betraut ist und meist kein spezielles HTML-Wissen vorweisen kann, gar nicht erst etwas davon mitbekommt, was im Hintergrund passiert. Mit anderen Worten: Der Quelltext sollte möglichst tabu sein.
Glücklicherweise gibt es eine Reihe von Werkzeugen im Open Source-Bereich, die Hilfe versprechen. Allen voran Tidy, das man zur Säuberung, Formatierung und Verbesserung von produziertem Quellcode nutzen kann. Weitere Möglichkeiten eröffnen Validatoren, die eine Seite bereits in der Vorschau auf mögliche Fehler überprüfen können – danach ist der Redakteur jedoch meist auf sich alleine gestellt und weiß womöglich nur, das ein Fehler vorliegt, nicht aber, wie dieser behoben werden kann.
Weitere Maßnahmen zur Qualitätssicherung können aussagefähige Hilfefunktionen für den Nutzer sein, die möglichst im engeren Kontext zur aktuellen Aufgabe angeboten werden sollten. Auch hier offenbaren viele Content-Management-Systeme eklatante Schwächen, obwohl gerade der Aspekt kontextsensitiver Hilfen in den Authoring Tools Accessibility Guidelines (ATAG) eine wichtige Rolle spielt. Kaum verwunderlich also, dass bisher kein Redaktionssystem diese Richtlinien erfüllen kann.
Worauf man im Einzelnen im Backend-Bereich, also der Administrations-Oberfläche des Systems, achten sollte:
- Konfigurierbare Editoren
Von WYSIWYG bis Textile und Markdown sollte ein Redakteur entscheiden können, wie Inhalte gepflegt werden. Ein gutes System passt sich an den Redakteur an, nicht umgekehrt. - Content is King
Inhalte sollten möglichst zentral, sprich unter einem zentralen Punkt einzugeben sein und mit Hilfe einer einheitlichen Eingabemaske erfasst werden. - WYSIWYG plus X
Redakteure sollten das bekommen, was sie sehen und noch etwas mehr: Auswahlmasken für interne Links, Verknüpfungen zur Bilddatenbank, Zugriff auf den Download-Bereich und vieles mehr, ohne HTML-Kenntnisse, ohne Umwege und ohne Wenn und Aber sollten im WYSIWYG-Modus selbstverständlich sein. - XHTML oder HTML?
Für die einen Philosophie, für die anderen Notwendigkeit: Ein gutes CMS überlässt dem Template-Gestalter beziehungsweise dem Administrator die Frage ob mit oder ohne X im HTML gearbeitet wird. - Trennung von Inhalt, Struktur & Logik
Gute Systeme trennen Inhalte von der Struktur, noch bessere trennen sogar die Logik (Programmierung / Funktionalität) von Inhalt & Struktur. So bleibt in der Datenbank am Ende nur (semantisch aufbereiteter) Inhalt zurück, zumindest im Idealfall.
Jede Erweiterung, die ein Mehr an Funktionalität im Frontend bedeutet, muss ebenfalls allen zuvor genannten Kriterien gerecht werden. Ältere Systeme offenbaren hier nicht selten Problembereiche, da allzu oft Tabellen-Layouts in den Modulen hart verdrahtet sind. Moderne Content-Management-Systeme bieten pro Modul eigenständige Templates an und ermöglichen so in der Regel eine individuellere Anpassung.
Skalierbarkeit und Flexibilität
Der Appetit kommt häufig mit dem Essen und nicht wenige Websites werden im Laufe der Zeit im Hinblick auf Funktionsumfang und Leistungsfähigkeit deutlich erweiteret. Jetzt schlägt die Stunde jener Content-Management-Systeme, die eine schnelle und einfache Integration zusätzlicher Bestandteile erlauben – seien es bereits bestehende Module aus der Community oder aber eigens erstellte Erweiterungen. Die Abwesenheit einer gut dokumentierten Schnittstelle für Module, die eine möglichst einfache Erstellung von neuen Funktionen ermöglicht, ist ein häufig anzutreffendes Manko. Hier profitieren die Platzhirsche unter den Content-Management-Systemen von ihrer Erfahrung und offerieren meist stabilere Schnittstellen, die jedoch hinsichtlich der Variabilität oftmals zahlreiche Wünsche offen lassen.
Nur wenige Webdesigner entwickeln eigenständige Module. Rudimentäre Kenntnisse in PHP oder anderen Scripting-Sprachen sind oftmals vorhanden und sollten bei einem guten CMS auch ausreichen, um den gewünschten HTML-Code zu erzeugen. Zahlreiche Content-Management-Systeme bieten eigene Scripting-Sprachen an, wieder andere nutzen bestehende Templating-Syteme und allzu viele Systeme bieten keine dieser Lösungen an. Häufig besteht die einzige Möglichkeit, auf den Quelltext einzuwirken, dann darin, dass man am offenen Herzen operiert und den Code des Content-Management-Systems im Hinblick auf die entsprechende Funktionalität modifiziert.
Doch nicht nur im Bereich programmierter Lösungen ist Flexibilität ein entscheidender Vorteil, sondern in der generellen Handhabung von Inhalten und Strukturen. Sowohl im Hinblick auf das Format (HTML, XML, RSS, usw.) als auch hinsichtlich der Templates (Menü-Anordnung, Spalten-Anzahl, usw.) sollte ein Webdesigner alle Freiheiten genießen – ohne viel Konfigurationsaufwand. Gleichzeitig sollte ein Redakteur diese Möglichkeiten nur durch das Bestätigen einer Auswahl nutzen können, ohne sich weitere Gedanken machen zu müssen. Kurzum: Flexibilität darf nicht auf Kosten von Gebrauchstauglichkeit und Webstandards gehen.
Fazit
Jede Technik, egal wie gut sie auch sein mag, kann den Menschen bei der Produktion bestenfalls unterstützen. Fehlerquellen sollten nach Möglichkeit im Vorfeld durch das System reduziert werden, Tätigkeiten des Redakteurs hingegen reglementiert und auftretende Fehler im besten Falle korrigiert. Content-Management-Systeme, die all das leisten können, gibt es nicht fertig von der Stange. Je komplexer die Anwendungsfälle, je mehr Module benötigt werden und je vielschichtiger der Aufbau der Redaktion ist, desto mehr muss ein Redaktionssystem leisten. Die Fragen nach Aufwand, Leistungsfähigkeit und Alltagstauglichkeit bestimmen den Auswahlprozess maßgeblich, wirken jedoch in unterschiedliche Richtungen. Kompromisse sind somit unausweichlich und die Suche nach dem Mittelweg ist gleichermaßen die Suche nach dem geeigneten Content-Management-System.
So, das war mal wieder eine Ausgabe unseres accessCast. Weitere Meldungen zum Thema der heutigen Sendung finden Sie im Weblog von ›Einfach für Alle‹ unter den Tags CMS, HTML und Webstandards.