Align widget descriptions more closely with common screen reader conventions.

Note that this work isn't complete--I'll correct more cases as I add more widgets and become familiar with their structures.
This commit is contained in:
Nolan Darilek 2021-05-10 16:00:08 -05:00
parent 50c8310de5
commit b3ced6106b

View file

@ -327,7 +327,7 @@ impl WidgetInfo {
} = self; } = self;
// TODO: localization // TODO: localization
let widget_name = match typ { let widget_type = match typ {
WidgetType::Hyperlink => "link", WidgetType::Hyperlink => "link",
WidgetType::TextEdit => "text edit", WidgetType::TextEdit => "text edit",
WidgetType::Button => "button", WidgetType::Button => "button",
@ -343,20 +343,19 @@ impl WidgetInfo {
WidgetType::Label | WidgetType::Other => "", WidgetType::Label | WidgetType::Other => "",
}; };
let mut description = widget_name.to_owned(); let mut description = widget_type.to_owned();
if let Some(selected) = selected { if let Some(selected) = selected {
if *typ == WidgetType::Checkbox { if *typ == WidgetType::Checkbox {
description += " "; let state = if *selected { "checked" } else { "unchecked" };
description += if *selected { "checked" } else { "unchecked" }; description = format!("{} {}", state, description);
} else { } else {
description += if *selected { "selected" } else { "" }; description += if *selected { "selected" } else { "" };
}; };
} }
if let Some(label) = label { if let Some(label) = label {
description += " "; description = format!("{}: {}", label, description);
description += label;
} }
if let Some(edit_text) = edit_text { if let Some(edit_text) = edit_text {