summaryrefslogtreecommitdiffstats
path: root/web/src/widget/image.rs
diff options
context:
space:
mode:
authorLibravatar Tom Pridham <pridham.tom@gmail.com>2020-04-12 00:51:17 -0600
committerLibravatar Tom Pridham <pridham.tom@gmail.com>2020-04-21 22:35:32 -0600
commit852d59752e209d4f3cdc38e164f5eeb31e164700 (patch)
tree4470b7c201f89f1e05abc6b37a345947a0ca2e52 /web/src/widget/image.rs
parentedd01159e0cb96232212511b5c5ba31da5433a01 (diff)
downloadiced-852d59752e209d4f3cdc38e164f5eeb31e164700.tar.gz
iced-852d59752e209d4f3cdc38e164f5eeb31e164700.tar.bz2
iced-852d59752e209d4f3cdc38e164f5eeb31e164700.zip
add some accessibility features to web widgets
Diffstat (limited to '')
-rw-r--r--web/src/widget/image.rs16
1 files changed, 15 insertions, 1 deletions
diff --git a/web/src/widget/image.rs b/web/src/widget/image.rs
index 029ab352..a20bebea 100644
--- a/web/src/widget/image.rs
+++ b/web/src/widget/image.rs
@@ -22,6 +22,9 @@ pub struct Image {
/// The image path
pub handle: Handle,
+ /// The alt text of the image
+ pub alt: String,
+
/// The width of the image
pub width: Length,
@@ -36,6 +39,7 @@ impl Image {
pub fn new<T: Into<Handle>>(handle: T) -> Self {
Image {
handle: handle.into(),
+ alt: Default::default(),
width: Length::Shrink,
height: Length::Shrink,
}
@@ -56,6 +60,14 @@ impl Image {
self.height = height;
self
}
+
+ /// Sets the alt text of the [`Image`].
+ ///
+ /// [`Image`]: struct.Image.html
+ pub fn alt(mut self, alt: impl Into<String>) -> Self {
+ self.alt = alt.into();
+ self
+ }
}
impl<Message> Widget<Message> for Image {
@@ -70,8 +82,10 @@ impl<Message> Widget<Message> for Image {
let src = bumpalo::format!(in bump, "{}", match self.handle.data.as_ref() {
Data::Path(path) => path.to_str().unwrap_or("")
});
+ let alt = bumpalo::format!(in bump, "{}", self.alt).into_bump_str();
- let mut image = img(bump).attr("src", src.into_bump_str());
+ let mut image =
+ img(bump).attr("src", src.into_bump_str()).attr("alt", alt);
match self.width {
Length::Shrink => {}