feca-mailshots-plugin/docs/ui_review_2026-04-23.md

2.7 KiB

UI Design Review (2026-04-23)

Reviewed against 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.
  1. Multi-pane data area splitters
  • Draggable splitters with persisted ratios are not implemented.
  • No per-page split-ratio persistence exists.
  1. 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.
  1. Resize stability requirements
  • Because column-resize behavior is not implemented, the associated non-reload stability guarantees are also not yet implemented/tested.
  1. 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).
  1. 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.
  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.
  1. Add a reusable progress-status helper for long-running form/API actions.
  2. Add explicit requirement note for Review Recipients horizontal-scroll exception.