pub struct Act<'a> {
pub label: &'a str,
pub key: Option<&'a str>,
pub tone: Tone,
pub state: Option<State>,
pub hint: Option<&'a str>,
}Fields§
§label: &'a strWhat the control says.
key: Option<&'a str>The key that reaches it where a host has keys.
The one member written for a terminal before there was one. A webview
hangs it off accesskey or ignores it; a terminal has nothing else to
offer, so this is the whole of how a control is reached there.
tone: ToneWhat pressing it means. Tone::Danger is the destructive one.
state: Option<State>Disabled, or nothing said.
State::Disabled is what changes what a renderer may do: see
State::suppresses_interaction, which is what says a disabled control
is drawn and not reachable. It was the only member from 0.19.0 to
0.40.0, and a control’s focus is not sayable here at all — see the crate
header, “Reach, focus and the focus ring”.
hint: Option<&'a str>A sentence that is always true of this control, shown rather than hunted for.
Standing help, not a message and not a tooltip. Half the hosts that read this have no pointer: a hover is one spelling of it, and the shipped apps reached for that spelling only because egui and a browser both had one. What is being said is that the sentence is true, never that it is hidden until a pointer arrives.
§Why it is here rather than a layer up
It was in quasi_router::Act alone until 0.40.0, and each renderer drew
it for itself: makeover_tui had no hint to read, so quasi-tui built
the muted line, and quasi-immediate called on_hover_text outside
crate::Act rather than inside it. Field::hint was here the whole
time, so the same idea sat at two layers depending on which thing
carried it, and a host that was not quasi could say it of a field and
not of a control.
What kept it out was price rather than doubt: this crate declares
links, so a member here moves 25 manifests across 12 repos. That is a
release’s forward-fix pass, which is a cost and was being read as a
barrier.
§What a renderer owes it
Somewhere to put it, or nothing. Dropping it is legitimate; drawing it
instead of the label is not, and neither is drawing it in a way that
takes it out of the accessible tree, which is the failure title alone
has on a browser. Nothing may live only in a hint.
None is a control whose label is the whole of it, which is nearly all
of them.
Added 0.40.0.