diff --git a/core/modules/widgets/image.js b/core/modules/widgets/image.js
index 533b657cc..52496fd74 100644
--- a/core/modules/widgets/image.js
+++ b/core/modules/widgets/image.js
@@ -100,6 +100,9 @@ ImageWidget.prototype.render = function(parent,nextSibling) {
if(this.imageClass) {
domNode.setAttribute("class",this.imageClass);
}
+ if(this.imageUsemap) {
+ domNode.setAttribute("usemap",this.imageUsemap);
+ }
if(this.imageWidth) {
domNode.setAttribute("width",this.imageWidth);
}
@@ -139,6 +142,7 @@ ImageWidget.prototype.execute = function() {
this.imageWidth = this.getAttribute("width");
this.imageHeight = this.getAttribute("height");
this.imageClass = this.getAttribute("class");
+ this.imageUsemap = this.getAttribute("usemap");
this.imageTooltip = this.getAttribute("tooltip");
this.imageAlt = this.getAttribute("alt");
this.lazyLoading = this.getAttribute("loading");
@@ -149,7 +153,7 @@ Selectively refreshes the widget if needed. Returns true if the widget or any of
*/
ImageWidget.prototype.refresh = function(changedTiddlers) {
var changedAttributes = this.computeAttributes();
- if(changedAttributes.source || changedAttributes.width || changedAttributes.height || changedAttributes["class"] || changedAttributes.tooltip || changedTiddlers[this.imageSource]) {
+ if(changedAttributes.source || changedAttributes.width || changedAttributes.height || changedAttributes["class"] || changedAttributes.usemap || changedAttributes.tooltip || changedTiddlers[this.imageSource]) {
this.refreshSelf();
return true;
} else {
diff --git a/editions/tw5.com/tiddlers/widgets/ImageWidget.tid b/editions/tw5.com/tiddlers/widgets/ImageWidget.tid
index c888c3a31..0f4bd9012 100644
--- a/editions/tw5.com/tiddlers/widgets/ImageWidget.tid
+++ b/editions/tw5.com/tiddlers/widgets/ImageWidget.tid
@@ -1,6 +1,6 @@
caption: image
created: 20140416160234142
-modified: 20220721102303815
+modified: 20231121114351165
tags: Widgets
title: ImageWidget
type: text/vnd.tiddlywiki
@@ -21,6 +21,7 @@ Any content of the `<$image>` widget is ignored.
|alt |The alternative text to be associated with the image |
|class |CSS classes to be assigned to the `` element |
|loading|<<.from-version "5.2.3">>Optional. Set to `lazy` to enable lazy loading of images loaded from an external URI |
+|usemap|<<.from-version "5.3.2">>Optional usemap attribute to be assigned to the `` element for use with HTML image maps |
The width and the height can be specified as pixel values (eg "23" or "23px") or percentages (eg "23%"). They are both optional; if not provided the browser will use CSS rules to size the image.