# UI Design Review (2026-04-23) Reviewed against [`requirements/ui_design.md`](../requirements/ui_design.md). ## Summary The plugin has improved control alignment/spacing and better internal scrolling on key pages (notably Review Recipients and Download PDF), but several global UI design requirements are still only partially implemented. ## Implemented / Largely Implemented - WordPress admin-page navigation model is used across the plugin. - Destructive actions use confirmation and red-link/button treatment in most CRUD lists. - Modal editors generally use `Save` / `Quit` and preserve draft state on validation failure. - Control label/control alignment and spacing were improved on pages with filter/selection controls. - Long-running feedback is present for Download PDF (progress panel shown on submit). - Review Recipients provides: - full-page recipient inspection - filter across fields - sort-by + direction controls - internal scroll region with sticky header row - row highlight selection. ## Gaps 1. **Standard Page Region Consistency (global)** - Requirement expects consistent context/information/statistics/actions/data pane structure where applicable. - Current pages use ad-hoc inline layouts with inconsistent region structure and styling. 2. **Multi-pane data area splitters** - Draggable splitters with persisted ratios are not implemented. - No per-page split-ratio persistence exists. 3. **Default table behavior: column resizing + persistence** - User-resizable column widths (including Firefox) are not implemented as a shared table behavior. - Persisted widths per table are not implemented. 4. **Resize stability requirements** - Because column-resize behavior is not implemented, the associated non-reload stability guarantees are also not yet implemented/tested. 5. **Long-operation progress coverage** - Download PDF has progress feedback, but this is not consistently applied to all operations that may exceed 1s (for example some validate/preview/run flows depending on dataset size). 6. **Horizontal scrolling policy** - Requirement says avoid horizontal scrolling when content width can be adjusted. - Review Recipients intentionally uses horizontal scroll for wide datasets; this is acceptable for usability, but should be documented as an explicit page-level exception to avoid ambiguity. ## Recommended Next Steps 1. Introduce a shared admin UI layout helper (PHP render helpers + shared CSS class contract) for pane regions. 2. Introduce a shared table component for: - edge-drag resize - width persistence - sort dropdown + direction wiring where needed. 3. Add a reusable progress-status helper for long-running form/API actions. 4. Add explicit requirement note for Review Recipients horizontal-scroll exception.