Help ladder, callouts, disclosure and switches #620
Labels
No labels
bug
duplicate
enhancement
help wanted
high priority
invalid
L
low priority
M
medium priority
needs refinement
optional
question
S
security
technical improvement
UX Improvement
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
local-it/mitgliederverwaltung#620
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Split from #618
Motivation
Help appears in about nine visual styles, from solid alerts below AA contrast to palette boxes and explanations below tables. Some settings save immediately through checkboxes next to fields that wait for “Save”. DESIGN_GUIDELINES §17 (help ladder), §18 (form controls) and §5.7 (labels) define the target. #618 delivered
<.section>,<.danger_zone>, the detail layout, the Save rule and the width rule; this issue builds on them.Visible improvement
Hints are readable and look the same everywhere; it is obvious when a change takes effect.
Scope (ordered steps,
just ci-devgreen after each)<.callout>,<.collapsible>,helpon<.input>; migrate hints by the help ladder:<.callout>kind; remove the interim component;example.comhosts (SMTP, Vereinfacht API/app URL).alert-*used as hints (toasts keepalertinside the flash component).<.input type="toggle">with a hook that resetscheckedwhen the handler pushes the stored value after an error (push_event, DESIGN_GUIDELINES §8.1); handlers take the target state from the event instead of flipping the stored value. Global settings checkboxes that save immediately become switches (toast + rollback; the flash #540 adds to "Allow direct registration" becomes this toast). The switch keeps #540's two states: set via environment variable (OIDC_ONLY: shown, not toggleable, lock line) and not switchable until OIDC is fully configured. The “Change password” checkbox becomes a disclosure through<.collapsible>.Acceptance criteria
alert-*for hints (guard at zero).ASSOCIATION_NAMEset), German locale.aria-describedby; callouts reach 4.5:1 (text) and 3:1 (icon); switches haverole="switch"and a toast on change; aui-tagged browser test shows the stored value again after a failed save (Firefox and Chromium).Dependencies
<.section>, Save rule, detail layout).Found in the #618 showcase check (2026-10-25,
main@baa69474)opacity: 0.2(daisyUI default): border and mark are nearly invisible in both themes, so the user cannot tell that the control exists or which state it holds. WCAG exempts disabled controls from contrast, but step 3 (checkbox fixed by the component) should give disabled checkboxes and switches a legible disabled look (e.g. the ENV-locked look #540 built), measured in both themes. Screenshot:.pipeline/clarify/mitgliederverwaltung-618-showcase/sc-form-*.png.text-sm) are larger than<.input type="checkbox">labels; the switch input of step 2 should settle one label size.