P2503 · Theme · F-40

Navigation & Seitenstruktur

IDEE P2503-84 Erstellt: 2026-05-11

User Story

Als Nutzer möchte ich mich über eine klare Hauptnavigation, einen strukturierten Footer und sprechende URLs auf solcom.de orientieren können, um Inhalte schnell zu finden.

Technische Beschreibung

Hauptnavigation, Footer, Breadcrumb, URL-Struktur.

Hinweise / Kommentare

SOLCOM-Kommentar (Excel): „Sind Breadcrumbs noch so gängig? Da wir nur 3 Ebenen haben, wollten wir eigentlich davon absehen." → Breadcrumbs werden nicht implementiert.

Kontext aus docs/

  • ADR-0008 — Header-Navbar-Slot-Refactor
  • ADR-0018 — Sitemap-Strang-Mapping
  • docs/context/0002-sitemap.html
  • SDCs navbar, footer

Akzeptanzkriterien

Erfüllt im PR #164342

  • Hauptnavigation als WAI-ARIA-Disclosure-Pattern mit <button aria-expanded> für Top-Level-Items mit Sub-Items (ADR-0027, PRD 2026-05-13).
  • Max. 2 Navigations-Ebenen, dritte Ebene wird im Template silent gedroppt.
  • Keyboard-Zugang: Enter/Space toggeln Disclosure (native <button>), Escape schließt, Outside-Click schließt.
  • Mobile Accordion + Body-Scroll-Lock (Class navbar-modal-open auf :root).
  • aria-current="page" auf dem Sub-Link, dessen URL der aktuellen Request-Pfad gleicht — nicht an in_active_trail gebunden (WCAG 2.1 SC 1.3.1). Path-Resolution per byte_theme_preprocess_menu__main() aus Request::getPathInfo() (aliased).
  • Active-Trail-Modifier .solcom-btn-link--active-trail auf Top-Level-Element, Underline im Nav-Kontext via CSS-Combo-Selector unterdrückt.
  • Footer mit 6 semantischen SDC-Slots (company_col/nav_col/highlights_col/kontakt_col/utility_links/copyright) inkl. drei vorkonfigurierter Drupal-Menüs (ADR-0033).
  • Social-Menu mit Plattform-Detection via byte_theme_preprocess_menu__social() (Host-Parse statt URL-Substring-Sniffing).
  • Brand-Tokens --brand-lime-tint, --brand-cream, --brand-hover-blue in theme.brand.css; Tailwind-v4-Color-Aliases — keine arbitrary Hex-Klassen mehr in Header / Footer / Navbar.
  • Kernel-Test-Coverage in HeaderTemplatesTest.php (16 Assertions, alle grün).

Explizit deferred

  • Sprechende URLs — bereits via Pathauto implementiert, kein Handlungsbedarf in P2503-84 (PRD §Out of Scope).
  • Breadcrumbs — laut SOLCOM-Excel-Kommentar nicht gewünscht („nur 3 Ebenen, wollten davon absehen").
  • Light-Variante der Navigation / des Footers — Scope auf Darkmode beschränkt (ADR-0027 / ADR-0033).

Abhängigkeiten

Noch nicht definiert.

Offene Fragen

Keine offenen Fragen erfasst.

Artefakte

Worklog

Datum Phase Notiz
2026-05-16 Fix Alle 13 Review-Findings adressiert: 8 Mechanical-Fixes (aria-current via URL-Equality + preprocess-Hook, Sub-Link-Arrow als CSS-::before, Mobile-Scroll-Lock restauriert, Twig-Ternary entfernt, with_context: false, Hex-Fallbacks entfernt, Tests umgedreht/erweitert) + 5 Scope-Findings (Footer im Scope behalten + ADR-0033, Brand-Token-Promotion lime-tint/cream/hover-blue, Social-Menu Plattform-Detection per parse_url, Navbar-Container-Konvention dokumentiert). 16/16 Kernel-Tests grün.
2026-05-16 Review Persisted — standards: 3 hard / 3 judgement, spec: 8 (worst: aria-current="page" an in_active_trail → WCAG-1.3.1-Verstoß; Footer-Komplett-Implementation Scope-Creep)