Artikel von Kirsten

Hallo, mein Name ist Kirsten Schelper. Ich bin Webdesignerin aus München mit einer Passion für italienischen Kaffee, vegetarische Küche und Fahrradfahren. Ihr findet mich nicht bei Facebook, dafür aber auf Twitter und auf Google+.

Das Plugin WP-Accessibility

Wer sich mit Barrierefreiheit und WordPress beschäftigt, begegnet früher oder später dem Plugin WP Accessibility von Joe Dolson. Ich habe mir angeschaut, was das Plugin macht und was man damit erreichen kann.

Das Plugin WP Accessibility ist für Seiten gedacht, die ein Theme nutzen, das nicht schon „von Haus aus“ accessibility-ready ist und das ein Stück barrierefreier werden soll.
Je nachdem wo das Theme noch Lücken hat kann man mit dem Plugin folgende Eigenschaften ergänzen:

  • Skip-links einbauen für die Navigation per Tastatur
  • ARIA landmark roles
  • Labels hinzufügen für das WordPress-Such-Formular
  • Target-Attribute aus Links entfernen (Links nicht in einem neuen Fenster öffnen)
  • Änderungen im Tabindex entfernen
  • Links immer unterstrichen darstellen
  • Überflüssige Title-Attribute entfernen
  • CSS für a:focus nachrüsten (wichtig für die Tastatur-Navigation)
  • Lange Beschreibungen für Bilder erlauben
  • Post-Titles für „read more“ Links ergänzen

Das Plugin installiert ausserdem zwei Toolbars, mit denen man die Schriftgröße und die Farb-Kontraste verändern kann. Ich persönlich empfinde das eher als Spielerei – die Toolbars tun nichts auf Code-Ebene, es verändert sich nur kurzfristig die Darstellung.
Weiterlesen Das Plugin WP-Accessibility

Recap WordCamp Berlin 2017

Vergangenes Wochenende waren wir in Berlin. Wir waren schon am Donnerstag angereist um beim Contributor Day dabei zu sein.  

Den WPAdminDay am Mittwoch vor dem Camp haben wir damit prompt verpasst. Der WPAdminDay war ein kleines Barcamp für Profi-Admins. Also diejenigen, die Tag für Tag im Hintergrund dafür sorgen, dass die WordPress-Seite stabil und sicher läuft. So weit man hört, kam der WPAdminDay gut an und wir dürfen auf eine Wiederholung hoffen.

Beim Contributor Day am Freitag sind Elisabeth und ich mit „unserem“ Thema Accessibility beim Design-Team untergeschlüpft. Spannend war der Austausch mit Kollegen über die Herausforderungen, die ein barrierefreier Online-Shop in der Praxis so mit sich bringt. Mehrsprachig versteht sich.

Anschließend gab es noch einen kleinen Feuerwehr-Einsatz: Das Team vom WordCamp Kopenhagen hatte einen Hilferuf an die Community gesendet, nachdem zwei Wochen vor dem Start der Veranstaltung das Orga-Team auf eine Person geschrumpft war.

So durfte ich mal eben schnell ein Logo für das WordCamp Kopenhagen entwickeln. Am Samstag hatte das WordCamp Kopenhagen eine überarbeitete Website samt ganz ansehnlichem Logo.

Weiterlesen Recap WordCamp Berlin 2017

Pseudo-Klassen a:visited, a:hover, a:focus und a:active

Was a:hover bedeutet, weiss jeder, der mal die Nase an eine CSS-Datei gehalten hat. Die Pseudo-Klassen a:visited, a:focus und a:active sind weit weniger bekannt. Mir war jedenfalls lange nicht klar, was die Angaben genau bewirken.

a:hover

Über den Selektor a spricht man im CSS einen Link an, mit a:hover lässt sich dem Link ein Effekt mitgeben, der auftritt, sobald die Maus drüberfährt. In Beispiel unten ändert sich die Farbe des Links von Rot in Blau.

a {color: red;}
a:hover {color: blue;}

For the record: Auf Touch-Geräten funktioniert der hover-Effekt nicht.

Was ist der Unterschied zwischen a und a:link?

In manchen CSS-Dateien findet man die Schreibweise a:link {…} anstatt von a {…}.
Die Pseudo-Klasse a:link bezieht sich auf Anchor-Elemente, die ein href-Attribut haben. Was ein bisschen sinnfrei ist, denn dieses Attribut sollte jeder Link haben. Ein Link ist – ein Link und verweist immer auf eine interne oder externe URL.
Wenn nur eine Aktion durch Anklicken ausgelöst werden soll, ist button das Tag der Wahl. Ein Button triggert eine JavaScript-Aktion oder ist Teil eines Formulars.

Wer korrektes HTML pflegt, kann also getrost a statt a:link schreiben.
Weiterlesen Pseudo-Klassen a:visited, a:hover, a:focus und a:active

Was ist eigentlich dieser “Skip to content”-Link?

In den WordPress-Standard-Themes der Twenty-Reihe sitzt in der header.php kurz nach dem body-tag ein Skip-To-Content-Link.

<a class="skip-link screen-reader-text" href="#content">Skip to content</a>

Diesen Link sieht man normalerweise nicht. Er wird erst sichtbar und aktiv, wenn jemand die Tastatur nutzt um durch die Seite zu navigieren. Probiert es mal aus, den Skip-Link gibt es auch hier auf dieser Seite.

Zugang per Tastatur

Die Navigierbarkeit per Tastatur ist ein zentrales Kriterium für Barrierefreiheit. Mit der Tastatur bewegen sich nicht nur Screenreader über die Seite. Auch Menschen, die keine Maus bedienen können, bewegen sich via Tab-Taste. Weil sie Arthritis in den Händen haben, weil sie keine Arme haben oder weil sie den rechten Arm vier Wochen lang im Gips tragen.

Und wozu braucht es diesen Link jetzt?

Angenommen, ich habe das Excerpt eines Artikels gelesen und möchte jetzt die ganze Version lesen. Ich steuere mit der Tastatur den Read-More-Link an, der Browser öffnet die Seite mit der Einzelansicht des Artikel.

Gäbe es nun den Skip-to-Content-Link nicht, müsste ich mich in der Einzelansicht erst mal durch den gesamten Header-Bereich durchackern. Ich müsste alle Elemente – Logo, Seitentitel, Navigation, Suchfeld – der Reihe nach anklicken bevor ich endlich beim Artikel landen würde. Die Tab-Taste arbeitet sich stur von links oben nach rechts unten durch den Code.
Ist dagegen ein Skip-Link vorhanden, kann ich sofort an die Stelle springen, die mich interessiert.

Aus diesem Grund sollte jede Webseite einen Skip-Link zur Verfügung stellen.
Ein Codebeispiel gibt’s im Accessibility-Handbuch.

WordPress-Templates für Übersetzung vorbereiten

Texte in einem WordPress-Theme, die übersetzbar sein sollen, müssen in den Templates gekennzeichnet werden. Dar Code dazu sieht ein wenig ungewöhnlich aus und es gibt viele verschiedene Schreibweisen für diese Funktion. Ich hab eine Weile gebraucht, bis ich mir einen Reim drauf machen konnte.

Der Aufbau eines übersetzbaren Strings ist immer gleich:
__( 'Der zu übersetzende Text', 'text-domain' );

Am Anfang stehen zwei Unterstriche. Die Syntax __() ist ein Kürzel für die translate()-Funktion und setzt das Signal „Achtung, hier gibt’s was zu übersetzen“. Danach kommt der zu übersetzende Textschnipsel, am Ende steht die Textdomain.
An der Stelle, wo die zwei Unterstriche platziert sind, können ganz unterschiedliche Funktionen stehen. Ich möchte vier Varianten vorstellen, die ich im meinem Theme-Alltag am Häufigsten verwende.

Es gibt natürlich noch viel mehr Funktionen. Eine vollständige Übersicht mit ausführlichen Code-Beispielen gibt es im WordPress Theme Handbook.

1. Einfacher Text

esc_html_e('Ich bin ein Text, sonst nix' , 'text-domain');
Damit kennzeichne ich einen einfachen Text.
Im Prinzip würde diese Schreibweise ausreichen:
_e('Ich bin ein Text, sonst nix' , 'text-domain');
Ich bin nicht sicher, wie hoch das Risiko tatsächlich ist, aber theoretisch könnte bei der zweiten Variante ein Übersetzer HTML-Codeschnipsel oder Übleres in die Übersetzung reinschmuggeln. Die Escape-Funktion schmeisst solche Sachen raus.

2. Text innerhalb eines Attributs

Ist ein Text Teil eines Attributs und sitzt z.B. im title-Attribut innerhalb eines Links, dann sieht das Ganze so aus:
esc_attr_e( 'Skip to content', 'text-domain' );
Auch hier ist das Escapen wichtig, damit niemand über die Übersetzung Schadcode einschleusen kann.
Weiterlesen WordPress-Templates für Übersetzung vorbereiten

Was kostet eine WordPress-Seite?

Ein Mensch, nennen wir ihn Paul, braucht eine Webseite und er fragt sich, was das wohl kosten würde. Unter dem Stichwort „WordPress Agentur“ spuckt die Suchmaschine eine lange Liste von Ergebnissen aus. Kleine und große Dienstleister – und ein wildes Durcheinander an Preismodellen.

Eine Agentur bietet ein „WordPress Komplettpaket“ für 600€ an, eine andere spricht von „WordPress Custom Themes“ und will dafür 3.000€ haben. Und bei Themeforest gibt es coole Themes schon für 60€.

„Geht’s noch?“, empört sich Paul. „Ich bin doch nicht blöd und zahle 3.000€, wenn ich das Ganze für 60€ kriegen kann!“

Wie kann das sein, dass für ein und dasselbe Produkt so unterschiedliche Preise aufgerufen werden?

Es steht zwar überall WordPress drauf, aber es ist nicht überall dasselbe drin

Option 1: Selber machen

Auch ein Laie kann sich eine WordPress-Seite ganz bequem über die Benutzeroberfläche (aka WordPress Dashboard) zusammenbauen. Dafür wurde WordPress erfunden. Mit dem Code dahinter kommt man dabei nicht in Berührung.
WordPress selbst und viele gute Themes sind gratis und lassen sich kostenlos herunterladen. Man muss allerdings bereit sein, sich in die Thematik einzuarbeiten. Je nach Vorwissen und Ziel kann das schon mal ein paar Tage dauern.

Schneller geht’s auch mit dem Premium Theme nicht. Im Gegenteil: Diese Themes sind sehr komplexe Konstruktionen, weil sie für jeden etwas bieten müssen. Zusätzlich zu den WordPress Grundlagen muss man sich hier noch in die individuelle Systematik des jeweiligen Themes einarbeiten.

GEEIGNET FÜR
Kleine Projekte mit einfachen Anforderungen.

WENIGER GEEIGNET FÜR
Komplexe Projekte, bei denen Eingriffe in die Theme-Dateien (Templates) nötig sind oder spezielle Plugins gebraucht werden. Natürlich ist auch hier selber basteln möglich und die WordPress Community ist sehr hilfsbereit. Aber das Risiko, eines Tages vor einer kaputten Seite zu sitzen, steigt mit jedem Codeschnipsel, den man irgendwo aufgegabelt, aber nicht so ganz verstanden hat.
Weiterlesen Was kostet eine WordPress-Seite?

WordPress & Vagrant für visuelle Menschen

Letzte Woche habe ich mir angeschaut, wie sich MAMP und Pressmatic im direkten Vergleich so anfühlen. Um das Bild etwas zu erweitern, habe ich mir noch Vagrant angeguckt. 

Beim Zusammenbauen eines Vagrant-WordPress-Workflows haben mir diese beiden Artikel sehr geholfen:

WordPress Development mit VVV (Tuts+)
Setting up a WordPress VVV Workflow (WP Beaches)

In den Artikeln werden alle Schritte zur Installation genau beschrieben.

Optische Oberflächen für VVV und Vagrant

Für mich ist die Arbeit mit dem Terminal deshalb so schwierig, weil ich vor einer „Black Box“ sitze. Erst wenn ich einen passenden Befehl eintippe, spuckt mir das Terminal eine Rückmeldung aus. Weiss ich den Zauberspruch Befehl nicht, sitze ich nur dumm davor und komme nicht weiter.

Spannend fand ich deshalb diese beiden Module:

  1. VVV Dashboard
  2. Vagrant Manager

VVV Dashboard ist eine optische Oberfläche für eine VVV-Installation. Dort kann ich sehen, was sich in meiner Serverumgebung tut und ich kann direkt vom Dashboard aus Aktionen ausführen. Das VVV Dashboard hat mir den Zugang zur Vagrant-Welt sehr erleichtert.
Weiterlesen WordPress & Vagrant für visuelle Menschen