[UI review] Core / shared shell: visual and interaction conformance #301

Open
opened 2026-09-08 18:40:30 +02:00 by zemion · 2 comments
Owner

Status and objective

Pending / not reviewed. This module track belongs to the product-wide UI review epic.
Apply the Core design principles using the shared review process. The current heading-help icon pass and any existing isolated fixes are preparation, not evidence that this whole module is complete. Source documents are being prepared in the current working tree; this issue does not claim they are released.

Prioritize usability defects, consistent interaction and shared-component fixes before broader features. Preserve permissions, security, optional-module boundaries and data integrity.

Source inventory to verify

This is a source-derived starting inventory, not a completed runtime audit. Verify nested routes, embedded dialogs and contributions in the installed module context; add missing surfaces to this issue.

Repository: govoplan-core.

Core/shared shell additionally owns navigation/rail/breadcrumbs, module routing, page/action archetypes, cards/tables/forms/dialogs, loading and error surfaces, help affordances, authentication and user settings. Review optional-module and permission contexts, not just standalone primitives.

Source entrypoint seed (111 TSX files; classification is heuristic)

Pages and navigation entrypoints (12):

Dialogs and embedded editing surfaces (7):

Settings and administrator surfaces (3):

Widgets, public/operator and contributed surfaces (1):

Shared components and other UI entrypoints (88):

Review and implementation TODO

  • Confirm every actual page, nested route, dialog, field/form, table/tree, settings level, public/operator surface, widget and cross-module contribution; document role/module prerequisites.
  • Exercise EN/DE, keyboard/focus, narrow and wide layouts, long content, empty/loading/error states and realistic datasets.
  • Check UI-01 heading/label help placement and UI-02 display-first/scoped editing; document any justified large-grid bulk-edit exception with explicit mode, Save/Cancel and dirty-navigation guard.
  • Verify consistent top-right actions (Reload left of New), clean/dirty Save/Cancel behavior, destructive separation and safe navigation/reload.
  • Verify full-width cards/tables, visible last-column actions, pagination, initial sizing, two-way pointer/keyboard resizing and preference reload with fixed columns and horizontal overflow.
  • Check scoped progress/error feedback and predictable tree selection versus expansion; no unnecessary global blocking or repeated background reload.
  • Record findings and implement shared-contract corrections plus all affected consumers, not local CSS/action-row exceptions without justification.
  • Verify save/cancel/retry and partial-failure behavior without unintended writes, sends, deletes or loss of persisted/unsaved data.
  • Update owning manifest-driven EN/DE documentation; record targeted automated checks and manual evidence against actual module surfaces.
  • Complete the principle matrix, list unresolved decisions/manual checks and link follow-ups before proposing closure.

Principle applicability / application / evidence / exceptions

Reviewed Core principle revision: not yet recorded. No exceptions approved.

Principle Applicable surfaces / justified N/A Applied / remaining work Evidence Exception / owner / follow-up
UI-01: Help icons beside the relevant heading/label, not action-button rows Pending inventory Pending review Not yet recorded None approved
UI-02: Display-first with scoped edit dialogs; explicit bulk-grid editing exception Pending inventory Pending review Not yet recorded None approved
UI-03: Shared page actions, Reload/New ordering, Save/Cancel and destructive separation Pending inventory Pending review Not yet recorded None approved
UI-04: Full-width table/card geometry, visible actions, pagination and two-way resizing Pending inventory Pending review Not yet recorded None approved
UI-05: Scoped loading/error feedback, useful progress and retained state Pending inventory Pending review Not yet recorded None approved
UI-06: Predictable tree selection, expansion, grouping and reordering Pending inventory Pending review Not yet recorded None approved
UI-07: Keyboard/focus/accessibility, responsive layouts and understandable German Pending inventory Pending review Not yet recorded None approved
UI-08: Authorization, optional-module boundaries and save/cancel/retry data integrity Pending inventory Pending review Not yet recorded None approved
UI-09: Revision evidence and retroactive checks for changed design principles Pending inventory Pending review Not yet recorded None approved

When a principle changes after this review, re-check applicability and record current evidence. Reopen this issue or link an owned follow-up for outstanding work; notify the central epic. A past review must not silently remain green against an obsolete rule.

Findings / TODO / done ledger

Finding / surface / reproduction Principle and expected behavior TODO / implementation or follow-up Verified done evidence
Full review not started UI-01–UI-09 Inventory and review pending None; no completed review claimed

Manual checks, decisions and closure evidence

  • Manual work pending: safe actual-module walkthrough in both languages and realistic viewports, keyboard/focus, permissions/optional-module contexts, loading/error/empty states, edits/Save/Cancel/navigation/reload, tables/trees and progress.
  • Decisions: none invented by this bootstrap. Record any product or policy choice with context and a recommendation; isolate independent implementation work from blocked decisions.
  • Automated evidence: not yet recorded for this complete module review. Existing targeted fixes/tests may be linked as partial evidence only.
  • Closure gate: verified inventory, complete current principle matrix, resolved required findings, owning EN/DE documentation and automated/manual evidence. Unimplemented placeholders remain pending until real surfaces can be reviewed or an explicit catalog/product decision changes scope.
<!-- govoplan-ui-review:v1:module:core --> ## Status and objective **Pending / not reviewed.** This module track belongs to the [product-wide UI review epic](https://git.add-ideas.de/GovOPlaN/govoplan/issues/56). Apply the [Core design principles](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/docs/UI_DESIGN_PRINCIPLES.md) using the [shared review process](https://git.add-ideas.de/GovOPlaN/govoplan/src/branch/main/docs/project/UI_REVIEW_PROGRAM.md). The current heading-help icon pass and any existing isolated fixes are preparation, not evidence that this whole module is complete. Source documents are being prepared in the current working tree; this issue does not claim they are released. Prioritize usability defects, consistent interaction and shared-component fixes before broader features. Preserve permissions, security, optional-module boundaries and data integrity. ## Source inventory to verify This is a **source-derived starting inventory, not a completed runtime audit**. Verify nested routes, embedded dialogs and contributions in the installed module context; add missing surfaces to this issue. Repository: [govoplan-core](https://git.add-ideas.de/GovOPlaN/govoplan-core). Core/shared shell additionally owns navigation/rail/breadcrumbs, module routing, page/action archetypes, cards/tables/forms/dialogs, loading and error surfaces, help affordances, authentication and user settings. Review optional-module and permission contexts, not just standalone primitives. <details><summary>Source entrypoint seed (111 TSX files; classification is heuristic)</summary> **Pages and navigation entrypoints (12):** - [webui/src/App.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/App.tsx) - [webui/src/components/NavigationPreferenceEditor.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/NavigationPreferenceEditor.tsx) - [webui/src/components/PageActionBar.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/PageActionBar.tsx) - [webui/src/components/PageLayout.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/PageLayout.tsx) - [webui/src/components/PageScrollViewport.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/PageScrollViewport.tsx) - [webui/src/components/PageTitle.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/PageTitle.tsx) - [webui/src/components/admin/AdminPageLayout.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/admin/AdminPageLayout.tsx) - [webui/src/features/PlaceholderPage.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/features/PlaceholderPage.tsx) - [webui/src/features/auth/PublicLandingPage.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/features/auth/PublicLandingPage.tsx) - [webui/src/features/dashboard/DashboardPage.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/features/dashboard/DashboardPage.tsx) - [webui/src/features/settings/SettingsPage.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/features/settings/SettingsPage.tsx) - [webui/src/layout/AllToolsNavigation.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/layout/AllToolsNavigation.tsx) **Dialogs and embedded editing surfaces (7):** - [webui/src/components/ConcurrencyConflictDialog.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/ConcurrencyConflictDialog.tsx) - [webui/src/components/ConfirmDialog.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/ConfirmDialog.tsx) - [webui/src/components/Dialog.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/Dialog.tsx) - [webui/src/components/DialogAnatomy.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/DialogAnatomy.tsx) - [webui/src/components/GuidedConfigDialog.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/GuidedConfigDialog.tsx) - [webui/src/components/PasswordGeneratorDialog.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/PasswordGeneratorDialog.tsx) - [webui/src/features/auth/LoginModal.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/features/auth/LoginModal.tsx) **Settings and administrator surfaces (3):** - [webui/src/components/admin/AdminIconButton.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/admin/AdminIconButton.tsx) - [webui/src/components/admin/AdminSelectionList.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/admin/AdminSelectionList.tsx) - [webui/src/components/mail/MailServerSettingsPanel.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/mail/MailServerSettingsPanel.tsx) **Widgets, public/operator and contributed surfaces (1):** - [webui/src/components/DashboardWidgetContent.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/DashboardWidgetContent.tsx) **Shared components and other UI entrypoints (88):** - [webui/src/components/AccessBoundary.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/AccessBoundary.tsx) - [webui/src/components/ActionBlockerHint.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/ActionBlockerHint.tsx) - [webui/src/components/ActionToolbar.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/ActionToolbar.tsx) - [webui/src/components/AdvancedOptionsPanel.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/AdvancedOptionsPanel.tsx) - [webui/src/components/AppearanceOverridesEditor.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/AppearanceOverridesEditor.tsx) - [webui/src/components/AppearancePaletteControl.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/AppearancePaletteControl.tsx) - [webui/src/components/Button.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/Button.tsx) - [webui/src/components/Card.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/Card.tsx) - [webui/src/components/ColorPickerField.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/ColorPickerField.tsx) - [webui/src/components/ConnectionTree.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/ConnectionTree.tsx) - [webui/src/components/ContentGrid.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/ContentGrid.tsx) - [webui/src/components/ContentSection.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/ContentSection.tsx) - [webui/src/components/CountBadge.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/CountBadge.tsx) - [webui/src/components/CredentialEnvelopeManager.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/CredentialEnvelopeManager.tsx) - [webui/src/components/CredentialPanel.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/CredentialPanel.tsx) - [webui/src/components/DateTimeField.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/DateTimeField.tsx) - [webui/src/components/DefinitionNodeIcon.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/DefinitionNodeIcon.tsx) - [webui/src/components/DefinitionPalette.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/DefinitionPalette.tsx) - [webui/src/components/DescriptionList.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/DescriptionList.tsx) - [webui/src/components/DisabledActionTooltip.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/DisabledActionTooltip.tsx) - [webui/src/components/DismissibleAlert.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/DismissibleAlert.tsx) - [webui/src/components/EffectivePolicyBlock.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/EffectivePolicyBlock.tsx) - [webui/src/components/ExplorerTree.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/ExplorerTree.tsx) - [webui/src/components/FileDropZone.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/FileDropZone.tsx) - [webui/src/components/FilterBar.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/FilterBar.tsx) - [webui/src/components/FloatingStatus.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/FloatingStatus.tsx) - [webui/src/components/FormField.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/FormField.tsx) - [webui/src/components/FormSection.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/FormSection.tsx) - [webui/src/components/GuidedReviewList.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/GuidedReviewList.tsx) - [webui/src/components/HoverTooltip.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/HoverTooltip.tsx) - [webui/src/components/IconButton.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/IconButton.tsx) - [webui/src/components/ListSelectionFilter.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/ListSelectionFilter.tsx) - [webui/src/components/LoadingFrame.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/LoadingFrame.tsx) - [webui/src/components/LoadingIndicator.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/LoadingIndicator.tsx) - [webui/src/components/MessageDisplayPanel.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/MessageDisplayPanel.tsx) - [webui/src/components/MetricCard.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/MetricCard.tsx) - [webui/src/components/MetricGrid.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/MetricGrid.tsx) - [webui/src/components/ModuleLoadBoundary.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/ModuleLoadBoundary.tsx) - [webui/src/components/MultiSelectFilter.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/MultiSelectFilter.tsx) - [webui/src/components/PasswordField.tsx](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src/components/PasswordField.tsx) - 48 further files: inspect [the source tree](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/webui/src); expand the issue inventory during review. </details> ## Review and implementation TODO - [ ] Confirm every actual page, nested route, dialog, field/form, table/tree, settings level, public/operator surface, widget and cross-module contribution; document role/module prerequisites. - [ ] Exercise EN/DE, keyboard/focus, narrow and wide layouts, long content, empty/loading/error states and realistic datasets. - [ ] Check UI-01 heading/label help placement and UI-02 display-first/scoped editing; document any justified large-grid bulk-edit exception with explicit mode, Save/Cancel and dirty-navigation guard. - [ ] Verify consistent top-right actions (Reload left of New), clean/dirty Save/Cancel behavior, destructive separation and safe navigation/reload. - [ ] Verify full-width cards/tables, visible last-column actions, pagination, initial sizing, two-way pointer/keyboard resizing and preference reload with fixed columns and horizontal overflow. - [ ] Check scoped progress/error feedback and predictable tree selection versus expansion; no unnecessary global blocking or repeated background reload. - [ ] Record findings and implement shared-contract corrections plus all affected consumers, not local CSS/action-row exceptions without justification. - [ ] Verify save/cancel/retry and partial-failure behavior without unintended writes, sends, deletes or loss of persisted/unsaved data. - [ ] Update owning manifest-driven EN/DE documentation; record targeted automated checks and manual evidence against actual module surfaces. - [ ] Complete the principle matrix, list unresolved decisions/manual checks and link follow-ups before proposing closure. ## Principle applicability / application / evidence / exceptions Reviewed Core principle revision: **not yet recorded**. No exceptions approved. | Principle | Applicable surfaces / justified N/A | Applied / remaining work | Evidence | Exception / owner / follow-up | | --- | --- | --- | --- | --- | | UI-01: Help icons beside the relevant heading/label, not action-button rows | Pending inventory | Pending review | Not yet recorded | None approved | | UI-02: Display-first with scoped edit dialogs; explicit bulk-grid editing exception | Pending inventory | Pending review | Not yet recorded | None approved | | UI-03: Shared page actions, Reload/New ordering, Save/Cancel and destructive separation | Pending inventory | Pending review | Not yet recorded | None approved | | UI-04: Full-width table/card geometry, visible actions, pagination and two-way resizing | Pending inventory | Pending review | Not yet recorded | None approved | | UI-05: Scoped loading/error feedback, useful progress and retained state | Pending inventory | Pending review | Not yet recorded | None approved | | UI-06: Predictable tree selection, expansion, grouping and reordering | Pending inventory | Pending review | Not yet recorded | None approved | | UI-07: Keyboard/focus/accessibility, responsive layouts and understandable German | Pending inventory | Pending review | Not yet recorded | None approved | | UI-08: Authorization, optional-module boundaries and save/cancel/retry data integrity | Pending inventory | Pending review | Not yet recorded | None approved | | UI-09: Revision evidence and retroactive checks for changed design principles | Pending inventory | Pending review | Not yet recorded | None approved | When a principle changes after this review, re-check applicability and record current evidence. Reopen this issue or link an owned follow-up for outstanding work; notify the central epic. A past review must not silently remain green against an obsolete rule. ## Findings / TODO / done ledger | Finding / surface / reproduction | Principle and expected behavior | TODO / implementation or follow-up | Verified done evidence | | --- | --- | --- | --- | | Full review not started | UI-01–UI-09 | Inventory and review pending | None; no completed review claimed | ## Manual checks, decisions and closure evidence - Manual work pending: safe actual-module walkthrough in both languages and realistic viewports, keyboard/focus, permissions/optional-module contexts, loading/error/empty states, edits/Save/Cancel/navigation/reload, tables/trees and progress. - Decisions: none invented by this bootstrap. Record any product or policy choice with context and a recommendation; isolate independent implementation work from blocked decisions. - Automated evidence: not yet recorded for this complete module review. Existing targeted fixes/tests may be linked as partial evidence only. - Closure gate: verified inventory, complete current principle matrix, resolved required findings, owning EN/DE documentation and automated/manual evidence. Unimplemented placeholders remain pending until real surfaces can be reviewed or an explicit catalog/product decision changes scope.
Author
Owner

Partial implementation evidence — UI-01 heading help

Implemented locally; uncommitted and unpushed. This review remains pending. No module review checkbox, principle matrix or issue state is being marked complete by this comment.

Core now provides a shared heading-help contract: titleHelp on semantic page/card/dialog/admin/workspace headings and TextWithHelp for smaller labelled contexts. Documentation books are associated with the text they explain instead of action rows. Widget help is attached to its enclosing card title rather than duplicated inner titles or footer-only icons.

The shared implementation addresses heading accessible names, focusable help controls, heading wrapping and card collapse/loading behavior. Consumer migrations use the same primitives; permission checks and optional Docs fallback remain in place.

The new docs/UI_DESIGN_PRINCIPLES.md establishes UI-01–UI-09, including display-first/scoped editing and retroactive checks when a principle changes. This is an initial shared-contract rollout, not an end-to-end Core usability review.

Source scope in the local working tree

  • webui/src/components/ActionBlockerHint.tsx
  • webui/src/components/Card.tsx
  • webui/src/components/CredentialEnvelopeManager.tsx
  • webui/src/components/Dialog.tsx
  • webui/src/components/NavigationPreferenceEditor.tsx
  • webui/src/components/PageActionBar.tsx
  • webui/src/components/PageLayout.tsx
  • webui/src/components/PageTitle.tsx
  • webui/src/components/admin/AdminPageLayout.tsx
  • webui/src/components/help/TextWithHelp.tsx
  • webui/src/components/table/DataGrid.tsx
  • webui/src/components/table/dataGridSizing.ts
  • webui/src/features/privacy/RetentionPolicyManagement.tsx
  • webui/src/features/settings/SettingsPage.tsx
  • webui/src/i18n/generatedTranslations.ts
  • webui/src/i18n/navigationEditorTranslations.ts
  • webui/src/index.ts
  • webui/src/layout/BreadcrumbBar.tsx
  • 5 further changed UI/doc source files in the same working tree; the complete diff must be reviewed before release.

These paths identify the current uncommitted source scope, not a released commit. Some listed files also contain earlier fixes; this comment claims only the UI-01 changes described above.

Verification

Verified rollout checks (shared evidence, not a complete manual review of this module):

  • Main product WebUI build and bundle-budget gate: passed.
  • Conformance TypeScript: passed.
  • Heading-help / EN-DE guard tests: 21 passed.
  • Workspace placement scan: 129 links across 327 TSX files in 47 WebUI modules passed.
  • Manifest-shape/documentation validation: 72/72 modules passed.
  • Core help/layout component tests: passed.
  • Targeted browser checks: 12 passed; full Core browser conformance: 253/253 passed in 7.2 minutes, with no failures or source fixes during that full run.

Additional verified actual-module evidence: at a 3085 px viewport, Dashboard display, configuration and return-to-display each kept the documentation book 6 px from its associated heading. Clean Cancel worked. The diagnostic browser recorded zero errors and no business writes; only diagnostic login/logout occurred.

The rollout also added 18 missing heading translations across 14 modules. These are focused German-parity fixes, not a declaration that every module's UI review is complete.

Broader-gate limitation: the wider focused gate, including the 63 optional-module build matrix, was still running at this evidence snapshot. This comment does not claim that the entire focused gate passed.

Shared/rollout checks are partial evidence, not exhaustive manual review of this module. Record the actual surfaces and principle revision during the full review.

Still pending

  • The complete module inventory and principle-by-principle UI-01–UI-09 review, realistic data/roles/optional modules, EN/DE walkthroughs, keyboard/focus, responsive layouts, errors/loading, save/cancel/navigation and data-integrity checks.
  • Display-first/scoped editing review (UI-02), remaining usability findings and any explicitly justified editing-mode exceptions.
  • Commit/release provenance and any still-required manual acceptance; no deployment or release is claimed here.

Coordination: Meta review epic; authoritative rules: Core UI design principles. Reusable lessons must be checked against already-reviewed modules through linked follow-ups or reopened reviews.

Earlier related work — separate partial history

Earlier, separate partial history: Core #300 tracks the preceding DataGrid/navigation/layout work. Linking it does not close that issue or establish completion of this full Core review.

<!-- govoplan-ui-review:v1:partial-evidence:2026-09-08-heading-help:core --> ## Partial implementation evidence — UI-01 heading help **Implemented locally; uncommitted and unpushed. This review remains pending.** No module review checkbox, principle matrix or issue state is being marked complete by this comment. Core now provides a shared heading-help contract: `titleHelp` on semantic page/card/dialog/admin/workspace headings and `TextWithHelp` for smaller labelled contexts. Documentation books are associated with the text they explain instead of action rows. Widget help is attached to its enclosing card title rather than duplicated inner titles or footer-only icons. The shared implementation addresses heading accessible names, focusable help controls, heading wrapping and card collapse/loading behavior. Consumer migrations use the same primitives; permission checks and optional Docs fallback remain in place. The new `docs/UI_DESIGN_PRINCIPLES.md` establishes UI-01–UI-09, including display-first/scoped editing and retroactive checks when a principle changes. This is an initial shared-contract rollout, not an end-to-end Core usability review. ### Source scope in the local working tree - `webui/src/components/ActionBlockerHint.tsx` - `webui/src/components/Card.tsx` - `webui/src/components/CredentialEnvelopeManager.tsx` - `webui/src/components/Dialog.tsx` - `webui/src/components/NavigationPreferenceEditor.tsx` - `webui/src/components/PageActionBar.tsx` - `webui/src/components/PageLayout.tsx` - `webui/src/components/PageTitle.tsx` - `webui/src/components/admin/AdminPageLayout.tsx` - `webui/src/components/help/TextWithHelp.tsx` - `webui/src/components/table/DataGrid.tsx` - `webui/src/components/table/dataGridSizing.ts` - `webui/src/features/privacy/RetentionPolicyManagement.tsx` - `webui/src/features/settings/SettingsPage.tsx` - `webui/src/i18n/generatedTranslations.ts` - `webui/src/i18n/navigationEditorTranslations.ts` - `webui/src/index.ts` - `webui/src/layout/BreadcrumbBar.tsx` - 5 further changed UI/doc source files in the same working tree; the complete diff must be reviewed before release. These paths identify the current uncommitted source scope, not a released commit. Some listed files also contain earlier fixes; this comment claims only the UI-01 changes described above. ### Verification Verified rollout checks (shared evidence, not a complete manual review of this module): - Main product WebUI build and bundle-budget gate: **passed**. - Conformance TypeScript: **passed**. - Heading-help / EN-DE guard tests: **21 passed**. - Workspace placement scan: **129 links across 327 TSX files in 47 WebUI modules passed**. - Manifest-shape/documentation validation: **72/72 modules passed**. - Core help/layout component tests: **passed**. - Targeted browser checks: **12 passed**; full Core browser conformance: **253/253 passed in 7.2 minutes**, with no failures or source fixes during that full run. Additional verified actual-module evidence: at a **3085 px** viewport, Dashboard display, configuration and return-to-display each kept the documentation book **6 px** from its associated heading. Clean Cancel worked. The diagnostic browser recorded **zero errors and no business writes**; only diagnostic login/logout occurred. The rollout also added **18 missing heading translations across 14 modules**. These are focused German-parity fixes, not a declaration that every module's UI review is complete. **Broader-gate limitation:** the wider focused gate, including the **63 optional-module build matrix**, was still running at this evidence snapshot. This comment does **not** claim that the entire focused gate passed. Shared/rollout checks are partial evidence, not exhaustive manual review of this module. Record the actual surfaces and principle revision during the full review. ### Still pending - The complete module inventory and principle-by-principle UI-01–UI-09 review, realistic data/roles/optional modules, EN/DE walkthroughs, keyboard/focus, responsive layouts, errors/loading, save/cancel/navigation and data-integrity checks. - Display-first/scoped editing review (UI-02), remaining usability findings and any explicitly justified editing-mode exceptions. - Commit/release provenance and any still-required manual acceptance; no deployment or release is claimed here. Coordination: [Meta review epic](https://git.add-ideas.de/GovOPlaN/govoplan/issues/56); authoritative rules: [Core UI design principles](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/branch/main/docs/UI_DESIGN_PRINCIPLES.md). Reusable lessons must be checked against already-reviewed modules through linked follow-ups or reopened reviews. ### Earlier related work — separate partial history Earlier, separate partial history: [Core #300](https://git.add-ideas.de/GovOPlaN/govoplan-core/issues/300) tracks the preceding DataGrid/navigation/layout work. Linking it does not close that issue or establish completion of this full Core review.
Author
Owner

Verification addendum — partial UI-01 rollout

This updates the broader-gate status in the earlier partial-implementation evidence.

  • Full tools/checks/check-focused.sh run: passed (exit 0) — local verification log: /mnt/DATA/tmp/govoplan-ui-review-20260908-1EveCs/focused.log; trailing module checks also passed.
  • Optional-module build permutations: all 63 passed.
  • 36 module interface/structure scripts: the separate batch passed.
  • Integrated browser suite: 253/253 passed in 7.4 minutes.
  • Final workspace git diff --check loop: passed (exit 0).

These checks verify the bounded implementation, not the complete usability of every module. All module reviews and their checkboxes remain pending. Source remains local, uncommitted and unpushed; no release or deployment is claimed. Campaign’s UI-02 compact settings overview/scoped edit dialogs remain a separate pending implementation and review slice.

<!-- govoplan-ui-review:v1:verification-addendum:2026-09-08-heading-help:core --> ## Verification addendum — partial UI-01 rollout This updates the broader-gate status in the [earlier partial-implementation evidence](https://git.add-ideas.de/GovOPlaN/govoplan-core/issues/301#issuecomment-21005). - Full `tools/checks/check-focused.sh` run: **passed (exit 0)** — local verification log: `/mnt/DATA/tmp/govoplan-ui-review-20260908-1EveCs/focused.log`; trailing module checks also passed. - Optional-module build permutations: **all 63 passed**. - **36 module interface/structure scripts:** the separate batch **passed**. - Integrated browser suite: **253/253 passed in 7.4 minutes**. - Final workspace `git diff --check` loop: **passed (exit 0)**. These checks verify the bounded implementation, not the complete usability of every module. **All module reviews and their checkboxes remain pending.** Source remains local, uncommitted and unpushed; no release or deployment is claimed. Campaign’s UI-02 compact settings overview/scoped edit dialogs remain a separate pending implementation and review slice.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-core#301