SEARCH_001_SEARCH_COVERS_VISIBLE_DATA:

Severity: major. Bereich: gui/datentabellen-crud.

Regel

(kein Regeltext)

Reflection-Check

check:
  applies_when: search_present == true
  example_fail: Tabelle zeigt Lisa Rossi / Bozen IT-Test GmbH, Suche nach Lisa liefert
    null Treffer, weil die SQL-WHERE-Klausel nur customer_last_name und customer_firma
    abdeckt, aber customer_first_name nicht.
  example_pass: 'Suche umfasst alle Felder, die als Text im Render auftauchen: customer_first_name
    + customer_last_name + customer_firma + customer_email + technische ID-Spalte
    fuer Power-Nutzer.'
  fail: Sichtbare Klartextwerte (z.B. Vorname, Firma, Produkt) sind in der Tabellenzelle
    dargestellt, fuehren aber bei Suche nicht zum Treffer - Nutzer baut falsches Modell
    der Such-Reichweite auf.
  pass: Das Suchfeld matcht jede Spalte, die in der Tabelle als Klartext-Information
    sichtbar ist; nicht-textuelle Marker (PDF-Link, Status-Icon, Zahlenfeld) duerfen
    ausgenommen sein, dann aber konsistent fuer alle Datensaetze.
  rationale: 'Erwartungskonformitaet (ISO 9241-110) und Match between system and the
    real world (Nielsen 1994 Heuristik 2). WCAG 3.2.4 Consistent Identification: gleiche
    UI-Bedeutung verlangt gleiches Verhalten.'
  remediation: 'Pro Liste: Spalten-Mapping erstellen Render-Cell <-> SQL-Feld. Alle
    textuellen Cell-Inhalte als ILIKE-Klauseln in whereClause(). Optional: pro Spalte
    explizites Attribut searchable im reflection_model setzen.'
  type: search

Evidence

alle Regeln dieses Bereichs