Modul:HilfeNavigation/Doku
Dies ist die Dokumentationsseite für Modul:HilfeNavigation
Dieses Modul erzeugt die Navigationsstruktur für den Hilfebereich.
Es rendert eine mehrstufige, einklappbare Seitenleiste auf Basis einer externen JSON-Datenquelle.
Die Ausgabe ist bewusst frei von Überschriftenelementen (h2–h6), um eine Beeinflussung des Seiten-Inhaltsverzeichnisses (TOC) zu vermeiden. Die Ein- und Ausklapp-Logik wird über JavaScript und CSS gesteuert.
Zweck Bearbeiten
Das Modul dient ausschließlich der Darstellung einer konsistenten Navigationsstruktur für Hilfeseiten. Es trifft keine inhaltlichen Entscheidungen und filtert keine Daten.
- Struktur und Reihenfolge werden vollständig durch die JSON-Datei vorgegeben
- Darstellung und Interaktion erfolgen über CSS und JavaScript
- Das Modul selbst erzeugt ausschließlich sauberes HTML
Datenquelle Bearbeiten
Die Navigationsstruktur wird aus folgender Seite geladen:
Die Datei enthält eine Liste von Hauptgruppen, jeweils mit zugehörigen Seiten und optionalen Untergruppen.
Datenstruktur Bearbeiten
Hauptgruppen Bearbeiten
Eine Hauptgruppe besteht aus einem Gruppentitel und einer Seitenliste:
{
"group": "Seitenbearbeitung",
"pages": [ ... ]
}
Seiten Bearbeiten
Eine Seite wird als einfacher Link definiert:
{
"link": "Hilfe:Bearbeiten",
"label": "Seiten bearbeiten"
}
Untergruppen Bearbeiten
Untergruppen erlauben eine weitere Hierarchieebene:
{
"group": "Vorlagenprogrammierung",
"pages": [
{
"link": "Hilfe:Vorlagenprogrammierung",
"label": "Einstieg"
}
]
}
Untergruppen können beliebig verschachtelt werden.
HTML-Struktur Bearbeiten
Das Modul erzeugt eine strikt vorhersehbare DOM-Struktur:
- Gruppenüberschriften werden als
<div class="help-sidebar-header">ausgegeben - Die zugehörige Liste folgt jeweils direkt als
<ul> - Untergruppen befinden sich innerhalb eines
<li>
Diese Struktur ist Voraussetzung für das zugehörige CSS- und JavaScript-Verhalten.
Interaktion Bearbeiten
Das Modul selbst implementiert keine Interaktionslogik.
- Das Ein- und Ausklappen erfolgt über JavaScript
- Der Zustand wird über das Attribut
aria-expandedam Header gesteuert - Die Darstellung (Pfeile, Abstände, Animationen) erfolgt vollständig per CSS
Barrierefreiheit Bearbeiten
Die klickbaren Gruppenüberschriften erhalten das Attribut: role="button"
Der aktuelle Zustand wird über aria-expanded abgebildet.
Die Navigation ist damit für Screenreader nachvollziehbar.
Einschränkungen Bearbeiten
- Das Modul validiert die Daten nicht inhaltlich
- Leere oder fehlerhafte Einträge in der JSON-Datei werden ungefiltert gerendert
- Die Darstellung ist abhängig von den begleitenden UI-Styles
Wartung Bearbeiten
Änderungen an der Navigationsstruktur erfolgen ausschließlich in der JSON-Datei. Anpassungen an Optik oder Verhalten sind im jeweiligen UI-Gadget bzw. Stylesheet vorzunehmen.
Das Modul selbst sollte nur bei strukturellen Änderungen angepasst werden.
Siehe auch
- Modul:HilfeNavigation/data.json – Datenquelle für Menüstrukur
- Vorlage:HilfeNavigation – Wrapper-Vorlage zum Einbau in Seiten
- MediaWiki:Gadget-NSHilfe.css – Style-Definitionen (nur durch Oberflächen-Administratoren erditierbar)
- MediaWiki:Gadget-NSHilfe.js – Java-Skript-Funktionen (nur durch Oberflächen-Administratoren erditierbar)