Accesskeys in Joomla 1.7

Das Thema Barrierefreiheit hat mich im Zusammenhang mit Joomla! schon immer geärgert. Unter Joomla 1.0.x gab es eine nette Erweiterung, die ein Menu um "Accesskeys" erweiterte. Man sollte nun denken, dass dies in der aktuellen Joomla! Version integriert wurde. Leider ist dem nicht so.

Also suchte ich nach einer Funktionierenden Lösung und bin tatsächlich fündig geworden. Diese Lösung möchte ich hier aufnehmen und jedem zugänglich machen.

Zum leid aller, muß ich gestehen, dass es sich um einen Eingriff in bestehende Core-Dateien handelt. Was bedeutet, dass diese Änderungen mit einem Update verschwunden sein könnten. Zudem muß man mit Copy und Past - also das "kopieren" und "einfügen" umgehen können. Ich werde versuchen, hier enifach uz erklären, wie dieser Core-Hack nun funktioniert.

Nun also zu den Änderungen.

Als erstes benötigen wir ein neues Feld in der Menuverwaltung. Dazu öffnen wir die Datei: item_component.xml

Diese befindet sich hier: administrator/components/com_menus/models/forms/item_component.xml

Circa in der Zeile 30 fügen wir noch vor dem "</fildset> folgendes ein:

<field name = "menu_accesskey" type = "text"
label = "COM_MENUS_ITEM_FIELD_MENU_ACCESSKEY_LABEL"
description = "COM_MENUS_ITEM_FIELD_MENU_ACCESSKEY_DESC"
size = "1" default = "" />

Jezt speichern wir diese Datei aber noch nicht schliessen, da wir prüfen wollen, ob alles geklappt hat. Sollte es nicht funktionieren, so können wir die jeweiligen Eingriffe rückgängig machen.

Öffnen Sie nun folgende Datei: de-DE.override.ini

Diese befindet sich hier: administrator/language/overrides/de-DE.override.ini

Seien Sie nicht verwundert, wenn Sie diese Datei nicht haben sollten. Legen Sie diese einfach an.

Schreiben Sie nun folgendes in die Datei:

COM_MENUS_ITEM_FIELD_MENU_ACCESSKEY_LABEL="Accesskey"
COM_MENUS_ITEM_FIELD_MENU_ACCESSKEY_DESC="Geben Sie den Buchstaben ein, der als Accesskey dienen soll"

Hier nun ein kleines Bild, wie das ganze bis jetzt im Administrator - Menueinstrag, aussehen sollte:

Accesskey unter Joomla einrichten

Den ersten Abschnitt haben wir also geschaft. Nun noch zwei Schritte und wir sind der Barrierefreiheit ein wenig näher gekommen.

Öffnen Sie nun folgende Datei: helper.php

Diese befindet sich hier: root/modules/mod_menu/helper.php

Wir gehen nun in die Zeile 117 und fügen folgendes nach dem hier $item->title = htmlspecialchars($item->title, ENT_COMPAT, 'UTF-8', false); ein:

$item->accesskey = htmlspecialchars ($item-> params->get('menu_accesskey',''), ENT_COMPAT, 'UTF-8', false));

Als letzten Schritt öffnen wir die folgende Datei: default_component.php

Diese befindet sich hier: root/modules/mod_menu/tmpl/default_component.php

Wir suchen in der Zeile 27 den ersten Block. Der sollte so aussehen:

?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
                break;

Diesen Code überschreiben wir mit diesen hier:

?><a <?php
if ( $item->accesskey == '' ) {
   echo "$class";
} else {
   echo "accesskey=\"$item->accesskey\" $class";
}
?>href ="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype;?></a><?php
      break;

Nun brauchen wir unsere Arbeiten nur noch zu speichern - bitte noch nicht schliessen, da wir die Funktion nun prüfen wollen.

Wundern Sie sich aber nicht, wenn Sie auf einmal nicht mehr diesen Artikel lesen, den der Test wird Sie auf eine Andere Seite bringen.

Den Test können Sie hier direkt auf diesen Seiten machen. Verwenden Sie dafür einfach folgende Tastenkombination:

für Firefox: Umschalt + ALT + den ersten Buchstaben des Menupunktes ( Beispiel: Umschalt + ALT + S)

für Opera: Umschalt + ESC + den ersten Buchstaben des Menupunktes ( Beispiel: Umschalt + ALT + S)

für IE: ALT + den ersten Buchstaben des Menupunktes ( Beispiel: ALT + S) + ENTER

und für Chrome: ALT + den ersten Buchstaben des Menupunktes ( Beispiel: Umschalt + ALT + S)

Ein dank ergeht für die kleine Anleitung an "O3D" aus dem Supportforum auf joomla.org.

HINWEIS: FUNKTIONIERT NICHT MIT JOOMLA 2.5.x

Autor: Niko Körner
Oktober 2005 schrieb Niko Körner 'Die ersten Schritte mit Joomla!'. Diese Anleitung wurde weit mehr als 5 Mio. Mal gelesen und im Internet gedownloadet. Seit 2005 ist er als Autor gelistet und schreibt rund um Joomla! und gibt Kurse.