# MegaMenu – Arbeitsplan Version 2.2 Status: Implementierung abgeschlossen; Ship-Build auf der vorgesehenen Node-8-Buildumgebung ausstehend ## Funktionsumfang - [x] Mobile Navigation als Hamburger-Menü mit aufklappbaren Unterebenen umsetzen. - [x] Hover als Komfortfunktion beibehalten; Bedienung per Klick, Touch und Tastatur gleichwertig unterstützen. - [x] Für Menüpunkte mit Ziel und Unterpunkten eine getrennte Öffnen-Schaltfläche anbieten. - [x] Navigations-URLs validieren und unsichere Protokolle blockieren. - [x] Externe Links und `MegaMenu.OpenInNewWindow` sicher unterstützen. - [x] Lade-, Leer- und Fehlerzustände verständlich und barrierearm darstellen. ## Lokale Term-Eigenschaften - [x] `MegaMenu.Hidden` zum gezielten Ausblenden eines Terms unterstützen. - [x] `MegaMenu.OpenInNewWindow` für ein neues Browserfenster unterstützen. - [x] `MegaMenu.Description` als optionale Linkbeschreibung unterstützen. - [x] Eigenschaften in Modern und Classic identisch auswerten. Die Eigenschaften werden im Term Store als lokale benutzerdefinierte Eigenschaften am jeweiligen Term gepflegt. Styling bleibt Aufgabe der Solution Custom Branding. ## Cache - [x] Cache-Schlüssel um Site Collection, Sprache und Schemaversion erweitern. - [x] Konfigurierbare `cacheVersion` zur administrativen Invalidierung ergänzen. - [x] Abgelaufene und ungültige Cache-Einträge sicher entfernen. - [x] Bei einem temporären Taxonomy-Fehler auf den letzten vorhandenen Cache zurückfallen. ## Mehrsprachigkeit - [x] Sämtliche sichtbaren Status- und ARIA-Texte lokalisieren. - [x] Bevorzugtes Term-Label anhand der aktuellen SharePoint-Sprache verwenden. - [x] Cache nach Sprache trennen. - [x] Deutsche und englische Ressourcen pflegen. ## Barrierefreiheit - [x] Semantische Schaltflächen für das Öffnen von Untermenüs verwenden. - [x] Vollständige Tastaturbedienung inklusive Pfeiltasten und Escape sicherstellen. - [x] Fokus beim Öffnen und Schließen nachvollziehbar führen. - [x] Mobile Accordion-Zustände über `aria-expanded` kommunizieren. - [x] Fokusdarstellung, Hochkontrast und reduzierte Bewegung berücksichtigen. ## Qualitätssicherung - [x] Automatisierte Tests für URL-Validierung und externe Links ergänzen. - [x] Automatisierte Tests für lokale Term-Eigenschaften ergänzen. - [x] Automatisierte Tests für Cache-Schlüssel und Cache-Verhalten ergänzen. - [x] Automatisierte Tests für Hierarchie, Sortierung und aktive URLs ergänzen. - [x] TypeScript-, Classic-Syntax-, Classic-Build- und statische Asset-Prüfungen ausführen. - [ ] `npm run package` mit Node.js 8.17.0 auf der vorgesehenen Buildumgebung ausführen. Der lokale SPFx-Gulp-Build wurde mit Node.js 24 gestartet und erwartungsgemäß durch die alte Gulp-3-Abhängigkeit mit `primordials is not defined` beendet. Das ist kein TypeScript- oder Projektfehler; SPFx 1.4.1 benötigt für diesen Schritt Node.js 8.17.0. ## Nicht Bestandteil dieses Durchlaufs - [ ] PortalSettings in Version 3 als SPFx-Webpart neu aufbauen. - [ ] MegaMenu-Diagnose und Live-Vorschau in PortalSettings integrieren.