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-expanded am 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