Hallo zusammen,
ein Kunde hat angefragt, ob ich seinen bestehenden Contenidoauftritt (DE+EN) durch ein alternatives Layout erweitern kann, inhalte sollen 1:1 identisch sein. (also eine weitere Website, die andere Layouts aber auf den den selben Content zugreift).
Das alternative Layout soll dann eben barrierefrei sein.
Kann ich das über einen neuen Mandanten realisieren?
Gruß
Barrierefreie Version, wie implementieren?
zunächst einmal die frage - wenn sie denn erlaubt ist - warum, wenn du schon einen barrierefreien auftritt machst, brauchst du dann den alten noch?
für alles weitere setze ich mal voraus, dass das notwendig ist. normalerweise erstellst du ja ein layout und positionierst darin die container. ich würde neu einen etwas anderen ansatz wählen.
ein layout besteht nämlich im wesentlichen aus einer ausgabe vor und einer nach dem eigentlichen inhalt. du kannst nun also das layout von zwei modulen ausgeben lassen. nennen wir sei einmal header und footer. dann machst du ein layout, dass kein html mehr enthält, sondern nur noch container. und zwar zwei mehr als vorher (einer für den header am anfang und einen zweiten für den footer).
beide auftritte nutzen die gleiche contenido-installation und den gleichen mandanten. die module footer und header geben aber, je nach situation den kopf und fuss der barrierefreien oder eben der konventionellen seite aus.
je nach komplexität des auftritts werden natürlich möglicherweise nicht mehr nur ein footer und ein header benötigt, sondern noch weitere layoutmodule, die den code zwischen den modulen ausgeben. hier ist einfach die frage, wie komplex der auftritt vorher war und wie komplex er barrierefrei sein wird.
daneben gibt es noch einen weiteren ansatz. dieser geht etwas zulasten der performance, dürfte jedoch einfacher sein in der umsetzung.
du gibst vor und nach jedem container eine kommentarzeile aus, die auskunft über die modulausgabe macht. z.b. in etwa so:
und am ende
dann schaltest du die ausgabepufferung ein (ob_end_start()) und gibst den puffer am ende der front_content.php an die ausgabe (ob_end_flush()). ganz am ende im layout setzt du ein modul, dass den ausgabepuffer ausliest (ob_get_contents()), isolierst mit regex die modulausgaben und giesst dann das ganze in das barrierfreie layout. dieses modul greift dann natürlich nur ein, wenn eine barrierefreie ausgabe vorzunehmen ist.
daneben gibt es sicher noch 10 verschiedene andere varianten, wie man das machen könnte.
hilft dir das weiter?
für alles weitere setze ich mal voraus, dass das notwendig ist. normalerweise erstellst du ja ein layout und positionierst darin die container. ich würde neu einen etwas anderen ansatz wählen.
ein layout besteht nämlich im wesentlichen aus einer ausgabe vor und einer nach dem eigentlichen inhalt. du kannst nun also das layout von zwei modulen ausgeben lassen. nennen wir sei einmal header und footer. dann machst du ein layout, dass kein html mehr enthält, sondern nur noch container. und zwar zwei mehr als vorher (einer für den header am anfang und einen zweiten für den footer).
beide auftritte nutzen die gleiche contenido-installation und den gleichen mandanten. die module footer und header geben aber, je nach situation den kopf und fuss der barrierefreien oder eben der konventionellen seite aus.
je nach komplexität des auftritts werden natürlich möglicherweise nicht mehr nur ein footer und ein header benötigt, sondern noch weitere layoutmodule, die den code zwischen den modulen ausgeben. hier ist einfach die frage, wie komplex der auftritt vorher war und wie komplex er barrierefrei sein wird.
daneben gibt es noch einen weiteren ansatz. dieser geht etwas zulasten der performance, dürfte jedoch einfacher sein in der umsetzung.
du gibst vor und nach jedem container eine kommentarzeile aus, die auskunft über die modulausgabe macht. z.b. in etwa so:
Code: Alles auswählen
<!-- start: modul 17 -->
Code: Alles auswählen
<!-- ende: modul 17 -->
daneben gibt es sicher noch 10 verschiedene andere varianten, wie man das machen könnte.
hilft dir das weiter?
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
Re: Barrierefreie Version, wie implementieren?
Kann man.notaus hat geschrieben:Kann ich das über einen neuen Mandanten realisieren?
Man kann aber auch das bestehende Layout einfach barrierefrei umgestalten, und ggf. Module anpassen.
Barrierefrei ist mitlerweile "in", aber kaum einer weiß was dahintersteckt,
am allerwenigsten die, die Gestalten/Programmieren wie bei den Printmedien.
Es gibt, meines Wissens, keine Norm, sondern nur eine Empfehlung von w3org (?), diese Empfehlung ist von der Bundesregierung umgesetzt als Richtlinie für Ämter/staatl. Organe/Institutionen erlassen wurden.
Gibt es als PDF, nur hält sich fast keine der angesprochenen Organe daran.
Dabei wäre alles so einfach ...
(... aber selbst die 100% CSS-Validierung des Mustermandanten hält sich nicht daran)
Hallo zusammen,
das ging ja fix mit den Antworten...
Problem ist einfach das, dass die nicht-barrierefreie Website sehr designorientiert sein wird - optimalerweise könnte ich das áusschließlich über CSS realisieren und für die barrierefreie Version nur das Stylesheet wechseln.
Allerdings habe ich mit einer Programmierung nur auf der Basis von CSS schlechte Erfahrungen gemacht, da die Browser einfach in den Details immernoch sehr unterschiedlich sind.
Unter Barrierefrei versteht mein Kunde, dass er dort z.B. die Schriftgröße ändern kann, ohne dass er von der Layoutänderung Augenkrebs bekommt (weil das ganze Layout dadurch zerschossen wird). Zudem eben auch starke Farbkontraste und eine sehr, sehr simple Navigation...
@wosch: du schreibst, man könnte das über den Mandanten lösen, greifen da dann mehrere Sites auf den gleichen Artikel-Datenstamm zu (aber unterschiedliche Layouts und teilw. angepasste Module).
...?
das ging ja fix mit den Antworten...
Problem ist einfach das, dass die nicht-barrierefreie Website sehr designorientiert sein wird - optimalerweise könnte ich das áusschließlich über CSS realisieren und für die barrierefreie Version nur das Stylesheet wechseln.
Allerdings habe ich mit einer Programmierung nur auf der Basis von CSS schlechte Erfahrungen gemacht, da die Browser einfach in den Details immernoch sehr unterschiedlich sind.
Unter Barrierefrei versteht mein Kunde, dass er dort z.B. die Schriftgröße ändern kann, ohne dass er von der Layoutänderung Augenkrebs bekommt (weil das ganze Layout dadurch zerschossen wird). Zudem eben auch starke Farbkontraste und eine sehr, sehr simple Navigation...
@wosch: du schreibst, man könnte das über den Mandanten lösen, greifen da dann mehrere Sites auf den gleichen Artikel-Datenstamm zu (aber unterschiedliche Layouts und teilw. angepasste Module).
...?
Dein "Kunde" hat keine Ahung was "barrierefrei" heißt.notaus hat geschrieben:Unter Barrierefrei versteht mein Kunde, dass er dort z.B. die Schriftgröße ändern kann, ohne dass er von der Layoutänderung Augenkrebs bekommt (weil das ganze Layout dadurch zerschossen wird). Zudem eben auch starke Farbkontraste und eine sehr, sehr simple Navigation...
Bei einer barrierefreien WebSite steht das Design dem Content ganz weit hinten an.
Da gelten eben andere "Gestzmässigkeiten" wie:
Schriftgröße ändern ohne Rücksicht auf Layout,
Reihenfolge der Elemtente nach Gesetzmässigkeit eines Vorleseprogrammes,
Reihenfolge der Links damit mit der Tastatur navigiert werden kann,
Kontraste bei dem ein Epileptiker keine Anfälle bekommt, aber ein Sehbehinderter ohne Probleme die Buchstaben erkennt,
...
Layout wird erst weit hinten in der Richtlinie erwähnt.
Nein,das habe ich nicht geschrieben, ich habe dir in deiner Eingangsfrage zugestimt das man es _könnte_.notaus hat geschrieben:@wosch: du schreibst, man könnte das über den Mandanten lösen, greifen da dann mehrere Sites auf den gleichen Artikel-Datenstamm zu (aber unterschiedliche Layouts und teilw. angepasste Module).
Es gibt hier einen Beitrag der befaßt sich, kurz, mit der Möglichkeit mandantenübergreifend auf Inhalte zuzugreifen.
Es ist nicht einfach, ganz im Gegenteil.
@kummer hat einen Lösungweg aufgezeichnet.