Skip to content

fix(PageHeader): tab-volgorde op large viewport wijkt af van visuele prioriteit #153

@jeffreylauwers

Description

@jeffreylauwers

User Story

Als toetsenbordgebruiker wil ik de primaire navigatie vroeg in de tab-volgorde
bereiken zodat ik niet eerst door het servicemenu en zoekveld hoef te tabben
om bij de hoofdnavigatie te komen.

Context

Op large viewport is de DOM-volgorde (en dus tab-volgorde) van de PageHeader:

  1. Logo (link naar homepage)
  2. Servicemenu
  3. Inline zoekveld + zoekknop
  4. Primaire navigatie

Visueel staat de primaire navigatie echter prominenter (volledige navigatiebalk
onder de masthead). WCAG 2.4.3 (Focus Order) schrijft voor dat de focus-volgorde
de betekenis en bedienbaarheid behoudt.

Onderzoeken of de DOM-volgorde de visuele prioriteit beter zou moeten
weerspiegelen, en wat de impact is op de bestaande CSS-grid layout.

Gerelateerd aan: toegankelijkheidsreview sessie april 2026.

Acceptance Criteria

  • Onderzocht of primaire navigatie eerder in de DOM-volgorde geplaatst kan
    worden zonder de visuele layout te breken
  • Als wijziging haalbaar: DOM-volgorde aangepast zodat primaire navigatie
    vóór servicemenu staat
  • Als wijziging niet haalbaar zonder CSS-hacks: bevinding gedocumenteerd
    als known limitation met onderbouwing
  • Tab-volgorde getest met toetsenbord op large viewport

Definition of Done

Voorbereiding

  • Feature branch aangemaakt: git checkout -b feature/naam

Werkzaamheden

  • Implementatie afgerond

Kwaliteitscontrole

  • Tests groen: pnpm test
  • TypeScript schoon: pnpm --filter storybook exec tsc --noEmit
  • Lint schoon: pnpm lint

Documentatie

  • MEMORY.md bijgewerkt indien nieuw patroon of architectuurkeuze
  • Relevante .docs.md bijgewerkt

Oplevering

  • PR aangemaakt: gh pr create
  • CI groen op de branch
  • PR gemerged: gh pr merge --merge

Notities / Open vragen

  • Bij default layout: masthead (logo + servicemenu + zoek) en navbar (primaire
    nav) zijn aparte div's — volgorde omdraaien in DOM en met CSS herpositioneren
    is mogelijk via order of grid-row, maar dat introduceert een visueel/
    DOM-mismatch wat ook toegankelijkheidsvragen oproept.
  • Compact layout heeft hetzelfde vraagstuk: logo | primaire nav | servicemenu
    staat al in de "juiste" volgorde — alleen default layout heeft het probleem.
  • Afwegen of een SkipLink naar de primaire navigatie voldoende mitigatie is
    als DOM-volgorde niet gewijzigd wordt.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions