Zum Hauptinhalt springen

UX- & Prozess-Review der App (Stand v0.116.1, 2026-07-26)

Zielgruppen: Business/Management (Kernaussage + Maßnahmenplan) · IT-Dev (Befunde mit Datei:Zeile). True North: Prüft, ob die App die drei Leitfragen verständlich, konsistent und intuitiv beantwortet — diese Runde als Wirksamkeits-Kontrolle über 17 Minor-Versionen (v0.99.12 → v0.116.1): halten die geprüften Kern-Muster (Overlay-Shell, Reiter-A11y, Token-Disziplin), und tragen die seither gebauten großen Flächen (echter DocuSign-Assistent inkl. Vor-Ort · Fremdformulare Weg A/B + AD-009-Rücklauf · Hausformular-Auto-Routing · Cockpit-Fokus-Umbau · Mandate-Overlay) denselben Meisterwerk-Anspruch? Methode: Code-Re-Audit gegen die v0.99.12-Befunde (B36–B40) + Neu-Flächen-Sweep (silent-error- Swallowing, role="alert"-Abdeckung, Touch-Ziele, G-8-Labels vs. rohe Enums, Token-Disziplin, Overflow- Risiko), jeweils mit Verdikt + Datei:Zeile. Bezugspunkt & Gültigkeit (MED-D-97): v0.116.1 · Commit 5031530 · 2026-07-26. Löst das v0.99.12-Audit (MED-D-217) ab. Dessen Backlog MED-OP-UX-11 (B36–B40) ist noch nicht begonnen und wird unverändert weitergetragen; neu abgeleitet: B41–B43 → MED-OP-UX-12. Nächster App-Audit gemäß Stale-Regel (agents.md §6.7: ≥10 Minor-Versionen oder >90 Tage).


1. Kernaussage

Die App hat über 17 Minor-Versionen viel neue, solide Fläche gewonnen — aber die zwei jüngsten Flächen (Fremdformular-Feld-Editor und Rücklauf-Prüfung) tragen die einzigen neuen Defekte, und der A11y-/Ehrlichkeits- Backlog der letzten Runde (B36–B40) ist unangetastet geblieben. Der geprüfte Design-System-Kern hält ohne Regress — die geteilte md-overlay-Shell (Scrim/ESC/Fokus-Falle/role="dialog"/aria-modal) und die Reiter-Roving-tabindex-Navigation sind intakt und werden von allen vier neuen Overlay-Konsumenten korrekt genutzt. Die großen neuen Strecken sind überwiegend sauber gebaut: der Unterschriften-Assistent meldet Teilfehlschläge ehrlich („X von Y"), Verwaltung und Auftrags-Overlay tragen role="alert" auf jeder Fehlerfläche, der Cockpit-Fokus-Umbau (Mandant-Gruppierung + Filterleiste + „Zu fakturieren") hat aria-label/ aria-pressed und ehrliche Leerzustände.

Was von der glatten Note trennt, sitzt konzentriert in den zwei neuesten Komponenten — plus dem unveränderten Vor-Backlog:

  • Ein echter Token-Regress (B41, hoch): der neue akte-feld-editor nutzt undefinierte Tokens (--fg/--fg-faint/--gruen existieren nirgends; die echten sind --text/--mut/--green) → die hartkodierten Dark-Mode-Hex-Fallbacks greifen immer, der Feldname-Text wird im Default-/Light-Theme nahezu unsichtbar (near-white auf hellem Card-Grund). Das bricht die v0.99.12-Zusicherung „kein eingeschleuster Hex, Token-Disziplin makellos" und ist funktional gravierend (der Feldname ist genau das, was der Nutzer zum Mappen lesen muss).
  • Eine neue Falsch-Leere (B42, mittel-hoch): schlägt der Rücklauf-Load fehl, zeigt das Overlay die beruhigende „Keine übernehmbaren Rückläufe"-Meldung statt eines Fehlers — der echte Fehlerbanner sitzt hinter dem Scrim. Ein Fehlschlag sieht aus wie „nichts zu prüfen" (gegen True North #2, wie B40).
  • Der komplette Vor-Backlog B36–B40 ist unverändert offen (Badge-Kontrast · 16-px-Touch-Ziel · Tabs-aria-controls · 2 role=alert-Restlücken · Cockpit-Falsch-Leere) — kein Fix seit v0.99.12.

Bewertung je Dimension (10 = Meisterwerk; ↑/↓ ggü. v0.99.12):

Dimensionv0.99.12v0.116.1Begründung (Kurzform)
Informationsarchitektur & Prozessführung (intern)99Vier große neue Flächen (DocuSign-Assistent, Fremdformular-Verwaltung, Cockpit-Fokus, Mandate-Overlay) sauber strukturiert und über die geteilte Overlay-Shell integriert; die 5-Reiter-IA hält
Verlässlichkeit des Feedbacks8,58Assistent/Verwaltung/Auftrag melden ehrlich (Teilfehlschlag „X von Y", role="alert"); aber: neue Rücklauf-Falsch-Leere bei Load-Fehler (B42) + cockpit#meineWiedervorlagen() still (B40)
Selbsterklärbarkeit / eine Sprache (G-3/G-8)99zentrale Label-Maps halten und werden von den neuen Flächen genutzt; der Verwaltung-Dropdown ist aus DOKUMENTTYP_LABEL abgeleitet (MED-D-258), kein roher Enum-Durchschlag
Kundenstrecken (öffentlich)8,58,5keine neue öffentliche Drift; B36 (Badge-Kontrast) + B37 (16-px-Ziel) unverändert offen
Konsistenz Design/Interaktion87,5Regress: die v0.99.12-„makellos, kein eingeschleuster Hex"-Zusicherung bricht im neuen akte-feld-editor (undefinierte --fg/--gruen → feste Hex-Fallbacks, B41)
Mobile & Erreichbarkeit88Feld-Editor kollabiert korrekt auf eine Spalte (@640px); Rest-Risiko: internes <24px-Ziel „Rücklauf prüfen" (B43) + Auftrag-/Rahmendaten-Grid ohne Collapse ≤390px
Barrierefreiheit8,58Overlay-Dialog-Semantik + Roving-tabindex intakt; aber: B41 (nahezu unsichtbarer Text im Default-Theme) schlimmer als sub-AA, dazu B38 (Tabs-aria-controls) + B39 (2 role=alert-Lücken) unverändert offen

2. Was gehalten wurde (bewahren)

Belegt im Code-Re-Audit + Neu-Flächen-Sweep (Datei:Zeile):

  • Design-System-Kern ohne Regress:
    • Geteilte Overlay-Shell akte-overlay.component.tsrole="dialog" (:24), aria-modal="true" (:25), aria-label (:26), Scrim-Close (:20), Initial-Fokus in den Panel (:59), Fokus-Falle (Tab-Wrap :91-100), Fokus-Rückgabe beim Zerstören (:64), ESC nur bei Fokus im Panel (:82-90). Alle vier neuen Konsumenten nutzen sie korrekt (akte-feld-editor:21, akte-auftraege:68, Rücklauf-Overlay mandant-detail:1096, Assistent-Overlays).
    • Reiter-A11y (mandant-detail) — role="tablist" (:318) + Roving-tabindex (:320) + registerTaste() Pfeil/Pos1/Ende (:2625) intakt.
  • Neue große Flächen überwiegend sauber:
    • Unterschriften-Assistent (akte-unterschriften-assistent.component.ts): ehrlicher Teilfehlschlag „X von Y versendet" (:712/:716/:820), Ergebnis-/Versendet-Karten role="status" (:334/:353), Provider-Ehrlichkeit „Demo/nicht rechtsgültig" (:336); die catch {}-Blöcke (:691/:786/:875/:881) sind echte sekundäre best-effort-Write-backs (Frist-WV/Abgleich/SEPA/Aufgabe), deren Ausgang auf der Ergebniskarte angezeigt wird — nicht still auf Primär-Content.
    • Fremdformular-Verwaltung (verwaltung.component.ts): role="alert" auf jeder Fehlerfläche (:39/:77/:151/:174/:216/:281), per-Loader-Fehler-Tracking, fieldset/legend für die Attribut-Gruppe.
    • Cockpit-Fokus-Umbau (cockpit.component.ts): Such-aria-label (:241), Kategorie-Chips aria-pressed (:248), „Zu fakturieren"-Toggle aria-pressed+title (:256), ehrlicher such-bewusster Leerzustand (:279); die zwei Kern-Loads setzen ladeFehler (:785/:789).
    • Mandate-Overlay (akte-auftraege.component.ts): Load-Fehler role="alert"+Retry (:43), Latest-Load-Guard (:370), ehrliche Playbook-Teilfehlschlag-Warnungen (:436/:454/:551), zentrale Label-Maps (:394-407), Öffnen über die geteilte md-overlay (:68).

3. Verbliebene & neue Befunde

3.1 Unverändert offen aus v0.99.12 (MED-OP-UX-11, B36–B40) — kein Fix seit dem letzten Audit

#BefundBeleg (v0.116.1 verifiziert)Status
B36Fragebogen-Badge weiß-auf-Farbe unter WCAG-AA (v. a. Dark)fragebogen-public.component.ts:191-195 (color:#fff auf --amber/--mut)offen
B3716-px-Touch-Ziel „übernehmen" auf der Onboarding-Streckeonboarding-public.component.ts:113 (kein min-height)offen
B38Reiter role="tab" ohne aria-controls; Ziel-Sektionen ohne role="tabpanel"mandant-detail.component.ts:320, Ziele z. B. :662offen
B392 role="alert"-Restlücken(a) mandant-akte.component.ts:339 primärer Ladefehler · (b) akte-meetings.component.ts:30 mtgFehler()offen
B40cockpit#meineWiedervorlagen() scheitert still → Falsch-Leere/Aktionsverlustcockpit.component.ts:792 (error: () => {})offen

3.2 Neue Befunde (der nächste Backlog → MED-OP-UX-12)

B41 — Feld-Editor nutzt undefinierte Tokens → Feldname-Text im Light-Theme nahezu unsichtbar (hoch; A11y-Kontrast + Token-Regress; NEU — höchster Punkt)

akte-feld-editor.component.ts:111 .mw-fe-name { color: var(--fg, #e6e9ef) }. --fg ist nirgends definiert (die echten Text-Tokens sind --text/--mut/--green, styles.css:465-506) → der near-white Dark-Mode- Fallback #e6e9ef greift immer, im Default-/Light-Theme also near-white Text auf hellem --card = effektiv unsichtbar, weit unter AA. Betrifft den Text, den der Nutzer zum Feld-Mapping lesen muss. Ebenso :112,:114 var(--fg-faint, #8a90a0) und :120 var(--gruen, #76b82a) (undefiniert → feste, nicht theme-fähige Hex). Das ist der Token-Disziplin-Regress aus §1. Fix: --text/--mut/--green nutzen.

B42 — Rücklauf-Prüfung zeigt bei Load-Fehler eine Falsch-Leere „nichts zu prüfen" (mittel-hoch; True North #2, stille Falsch-Leere auf Primär-Content; NEU)

mandant-detail.component.ts:1102-1103: die beruhigende Leer-Meldung „Keine übernehmbaren Rückläufe — die gemeldeten Werte stimmen mit den Stammdaten überein" wird bei jedem leeren ruecklaufVorschlaege() gezeigt — auch nach einem Load-Fehler (oeffneRuecklauf schreibt den Fehler nach dokFehler, :1394), weil dessen role="alert"-Render nur im gefüllten @else-Zweig sitzt (:1123) und sonst hinter dem Overlay-Scrim unsichtbar ist. Ein Fehlschlag ist nicht von „nichts zu übernehmen" unterscheidbar. Fix: eigenes ruecklaufFehler-Signal, im Overlay in allen Zweigen mit role="alert" rendern.

B43 — „Rücklauf prüfen"-Button unter 24-px-Touch-Ziel (niedrig; WCAG 2.5.8; NEU, internes Tool)

mandant-detail.component.ts:722 padding:4px 10px; font-size:0.8rem ≈ 21 px hoch, unter dem 24-px-Minimum. Internes Desktop-Tool (geringere Schwere als das öffentliche B37), gleiche Defekt-Klasse. Fix: min-height:24px.

Weitere Kleinbefunde (gebündelt in MED-OP-UX-12): Rahmendaten-/Auftrag-Grid ohne responsive Collapse (Overflow-Risiko ≤390px, akte-auftraege.component.ts:146 1fr 1fr ohne Media-Query — das korrekte Gegenmuster steht in akte-feld-editor.component.ts:133-135, das bei 640px kollabiert); --fg-faint/--gruen-Fallbacks als nicht-kritischer Teil von B41.

B35 — Carry-over, bewusst zurückgestellt (bekannt/akzeptiert, kein Regress)

Unverändert: B32(b)-Rest (drei Modal-Dialoge mit eigener Fokus-Falle außerhalb der md-overlay-Shell; Pill-Render-Vereinheitlichung; ~300 Einzelwert-Inline-Styles) + Server-Enum-Flags versendet/nicht_erforderlich.


4. Maßnahmenplan

Zwei offene Wellen, klar priorisiert:

  1. MED-OP-UX-12 (neu) — die neuen Frontier-Defekte zuerst. Reihenfolge nach Wirkung: B41 (unsichtbarer Feldname-Text im Default-Theme — echter A11y-/Token-Defekt, 3-Zeilen-Fix) → B42 (Rücklauf-Falsch-Leere, True North #2) → B43 + Grid-Collapse-Kleinbefunde. B41 ist der dringendste Einzelpunkt des ganzen Audits (unsichtbar > sub-AA) und zugleich der billigste — empfohlen als sofortiger Vorzieh-Fix.
  2. MED-OP-UX-11 (unverändert offen) — die A11y-/Ehrlichkeits-Restmeile (B36–B40): Badge-Kontrast → 16-px-Ziel → role=alert-Restlücken + Cockpit-Falsch-Leere → Tabs-aria-controls. Über 17 Minor unberührt geblieben — bewusst nachziehen.

B35/Carry-over bleibt bewusst offen (kein Regress).


Dieses Audit ist ein Zeitdokument (MED-OP-REVIEW-1 / agents.md §6.7): Bezugspunkt v0.116.1 · Commit 5031530 · 2026-07-26. Befunde werden als MED-OP-UX-11 (Carry-over B36–B40) + MED-OP-UX-12 (neu B41–B43) in den Backlog überführt, nicht im Audit abgearbeitet. Keine Versionsänderung durch diesen Refresh.