accessify-widget 0.3.8 → 0.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/accessify.min.js +1 -1
- package/dist/accessify.min.js.map +1 -1
- package/dist/accessify.mjs +1 -1
- package/dist/{index-C3jQHPAw.js → index-DabFemHm.js} +98 -3
- package/dist/{index-C3jQHPAw.js.map → index-DabFemHm.js.map} +1 -1
- package/dist/{keyboard-nav-CzeLetKR.js → keyboard-nav-BAnuU08t.js} +2 -2
- package/dist/{keyboard-nav-CzeLetKR.js.map → keyboard-nav-BAnuU08t.js.map} +1 -1
- package/dist/{page-structure-DFT1USJ1.js → page-structure-DjY63saM.js} +2 -2
- package/dist/{page-structure-DFT1USJ1.js.map → page-structure-DjY63saM.js.map} +1 -1
- package/dist/widget.js +1 -1
- package/dist/widget.js.map +1 -1
- package/package.json +1 -1
package/dist/accessify.mjs
CHANGED
|
@@ -6433,14 +6433,14 @@ function FeatureGrid($$anchor, $$props) {
|
|
|
6433
6433
|
const FEATURE_LOADERS = {
|
|
6434
6434
|
contrast: () => import("./contrast-CqsICAkU.js"),
|
|
6435
6435
|
"text-size": () => import("./text-size-C6OFhCGi.js"),
|
|
6436
|
-
"keyboard-nav": () => import("./keyboard-nav-
|
|
6436
|
+
"keyboard-nav": () => import("./keyboard-nav-BAnuU08t.js"),
|
|
6437
6437
|
"link-highlight": () => import("./link-highlight-DBGm067Y.js"),
|
|
6438
6438
|
"reading-guide": () => import("./reading-guide-VT8NciIL.js"),
|
|
6439
6439
|
"reading-mask": () => import("./reading-mask-BABChuCz.js"),
|
|
6440
6440
|
"animation-stop": () => import("./animation-stop-C0MwseK0.js"),
|
|
6441
6441
|
"hide-images": () => import("./hide-images-B_LeCBcd.js"),
|
|
6442
6442
|
"big-cursor": () => import("./big-cursor-B2UKu9dQ.js"),
|
|
6443
|
-
"page-structure": () => import("./page-structure-
|
|
6443
|
+
"page-structure": () => import("./page-structure-DjY63saM.js"),
|
|
6444
6444
|
tts: () => import("./tts-CjszLRnb.js"),
|
|
6445
6445
|
"text-simplify": () => import("./text-simplify-Cvhpio7g.js"),
|
|
6446
6446
|
"alt-text": () => Promise.resolve().then(() => altText)
|
|
@@ -8149,6 +8149,7 @@ function createAltTextModule(aiService, initialLang = "de", serverConfig) {
|
|
|
8149
8149
|
img.setAttribute("alt", altText2);
|
|
8150
8150
|
img.setAttribute("title", altText2);
|
|
8151
8151
|
processedImages.set(img, { generatedAlt: altText2 });
|
|
8152
|
+
if (enabled) addInfoBadge(img, altText2);
|
|
8152
8153
|
}
|
|
8153
8154
|
function applyTitlesToAllImages() {
|
|
8154
8155
|
document.querySelectorAll("img").forEach((img) => {
|
|
@@ -8161,6 +8162,96 @@ function createAltTextModule(aiService, initialLang = "de", serverConfig) {
|
|
|
8161
8162
|
}
|
|
8162
8163
|
});
|
|
8163
8164
|
}
|
|
8165
|
+
const INFO_BADGE_CLASS = "accessify-alt-badge";
|
|
8166
|
+
const INFO_TOOLTIP_CLASS = "accessify-alt-tooltip";
|
|
8167
|
+
let styleEl = null;
|
|
8168
|
+
function injectBadgeStyles() {
|
|
8169
|
+
if (styleEl) return;
|
|
8170
|
+
styleEl = document.createElement("style");
|
|
8171
|
+
styleEl.textContent = `
|
|
8172
|
+
.${INFO_BADGE_CLASS} {
|
|
8173
|
+
position: absolute;
|
|
8174
|
+
top: 6px;
|
|
8175
|
+
left: 6px;
|
|
8176
|
+
width: 22px;
|
|
8177
|
+
height: 22px;
|
|
8178
|
+
border-radius: 50%;
|
|
8179
|
+
background: rgba(0,0,0,0.55);
|
|
8180
|
+
color: #fff;
|
|
8181
|
+
font: bold 13px/22px sans-serif;
|
|
8182
|
+
text-align: center;
|
|
8183
|
+
cursor: default;
|
|
8184
|
+
z-index: 10;
|
|
8185
|
+
pointer-events: auto;
|
|
8186
|
+
transition: background 0.15s;
|
|
8187
|
+
box-shadow: 0 1px 3px rgba(0,0,0,0.3);
|
|
8188
|
+
}
|
|
8189
|
+
.${INFO_BADGE_CLASS}:hover {
|
|
8190
|
+
background: rgba(0,0,0,0.8);
|
|
8191
|
+
}
|
|
8192
|
+
.${INFO_TOOLTIP_CLASS} {
|
|
8193
|
+
display: none;
|
|
8194
|
+
position: absolute;
|
|
8195
|
+
top: 32px;
|
|
8196
|
+
left: 0;
|
|
8197
|
+
min-width: 180px;
|
|
8198
|
+
max-width: 300px;
|
|
8199
|
+
padding: 8px 10px;
|
|
8200
|
+
background: rgba(0,0,0,0.85);
|
|
8201
|
+
color: #fff;
|
|
8202
|
+
font: normal 12px/1.4 sans-serif;
|
|
8203
|
+
border-radius: 6px;
|
|
8204
|
+
z-index: 11;
|
|
8205
|
+
pointer-events: none;
|
|
8206
|
+
word-wrap: break-word;
|
|
8207
|
+
box-shadow: 0 2px 8px rgba(0,0,0,0.3);
|
|
8208
|
+
}
|
|
8209
|
+
.${INFO_BADGE_CLASS}:hover + .${INFO_TOOLTIP_CLASS},
|
|
8210
|
+
.${INFO_BADGE_CLASS}:focus + .${INFO_TOOLTIP_CLASS} {
|
|
8211
|
+
display: block;
|
|
8212
|
+
}
|
|
8213
|
+
`;
|
|
8214
|
+
document.head.appendChild(styleEl);
|
|
8215
|
+
}
|
|
8216
|
+
function addInfoBadge(target, altText2) {
|
|
8217
|
+
const parent = target.tagName === "IMG" ? target.parentElement : target;
|
|
8218
|
+
if (!parent) return;
|
|
8219
|
+
if (parent.querySelector(`.${INFO_BADGE_CLASS}`)) return;
|
|
8220
|
+
const pos = getComputedStyle(parent).position;
|
|
8221
|
+
if (pos === "static") parent.style.position = "relative";
|
|
8222
|
+
const badge = document.createElement("span");
|
|
8223
|
+
badge.className = INFO_BADGE_CLASS;
|
|
8224
|
+
badge.textContent = "i";
|
|
8225
|
+
badge.setAttribute("aria-hidden", "true");
|
|
8226
|
+
const tooltip = document.createElement("span");
|
|
8227
|
+
tooltip.className = INFO_TOOLTIP_CLASS;
|
|
8228
|
+
tooltip.textContent = altText2;
|
|
8229
|
+
parent.appendChild(badge);
|
|
8230
|
+
parent.appendChild(tooltip);
|
|
8231
|
+
}
|
|
8232
|
+
function removeAllBadges() {
|
|
8233
|
+
document.querySelectorAll(`.${INFO_BADGE_CLASS}, .${INFO_TOOLTIP_CLASS}`).forEach((el) => el.remove());
|
|
8234
|
+
if (styleEl) {
|
|
8235
|
+
styleEl.remove();
|
|
8236
|
+
styleEl = null;
|
|
8237
|
+
}
|
|
8238
|
+
}
|
|
8239
|
+
function addBadgesToAllImages() {
|
|
8240
|
+
injectBadgeStyles();
|
|
8241
|
+
document.querySelectorAll("img").forEach((img) => {
|
|
8242
|
+
if (!isValidImage(img)) return;
|
|
8243
|
+
const alt = img.getAttribute("alt") || img.getAttribute("title");
|
|
8244
|
+
if (alt && alt.trim()) {
|
|
8245
|
+
addInfoBadge(img, alt.trim());
|
|
8246
|
+
}
|
|
8247
|
+
});
|
|
8248
|
+
document.querySelectorAll("[data-accessify-bg-alt]").forEach((el) => {
|
|
8249
|
+
const alt = el.getAttribute("aria-label");
|
|
8250
|
+
if (alt && alt.trim()) {
|
|
8251
|
+
addInfoBadge(el, alt.trim());
|
|
8252
|
+
}
|
|
8253
|
+
});
|
|
8254
|
+
}
|
|
8164
8255
|
function removeTitles() {
|
|
8165
8256
|
document.querySelectorAll('img[data-accessify-title="auto"]').forEach((img) => {
|
|
8166
8257
|
img.removeAttribute("title");
|
|
@@ -8172,6 +8263,7 @@ function createAltTextModule(aiService, initialLang = "de", serverConfig) {
|
|
|
8172
8263
|
el.removeAttribute("title");
|
|
8173
8264
|
el.removeAttribute("data-accessify-bg-alt");
|
|
8174
8265
|
});
|
|
8266
|
+
removeAllBadges();
|
|
8175
8267
|
}
|
|
8176
8268
|
function scanForBackgroundImages() {
|
|
8177
8269
|
const found = [];
|
|
@@ -8201,6 +8293,7 @@ function createAltTextModule(aiService, initialLang = "de", serverConfig) {
|
|
|
8201
8293
|
el.setAttribute("aria-label", altText2);
|
|
8202
8294
|
el.setAttribute("title", altText2);
|
|
8203
8295
|
el.setAttribute("data-accessify-bg-alt", "auto");
|
|
8296
|
+
if (enabled) addInfoBadge(el, altText2);
|
|
8204
8297
|
}
|
|
8205
8298
|
async function generateBgAlts() {
|
|
8206
8299
|
if (!aiService || !enabled) return;
|
|
@@ -8340,6 +8433,7 @@ function createAltTextModule(aiService, initialLang = "de", serverConfig) {
|
|
|
8340
8433
|
generateAll();
|
|
8341
8434
|
generateBgAlts();
|
|
8342
8435
|
applyTitlesToAllImages();
|
|
8436
|
+
addBadgesToAllImages();
|
|
8343
8437
|
document.querySelectorAll("img").forEach((img) => {
|
|
8344
8438
|
if (!img.complete) tryRegisterImage(img);
|
|
8345
8439
|
});
|
|
@@ -8347,6 +8441,7 @@ function createAltTextModule(aiService, initialLang = "de", serverConfig) {
|
|
|
8347
8441
|
if (enabled) {
|
|
8348
8442
|
document.querySelectorAll("img").forEach(tryRegisterImage);
|
|
8349
8443
|
applyTitlesToAllImages();
|
|
8444
|
+
addBadgesToAllImages();
|
|
8350
8445
|
}
|
|
8351
8446
|
}, 2e3);
|
|
8352
8447
|
domObserver = new MutationObserver((mutations) => {
|
|
@@ -8580,4 +8675,4 @@ export {
|
|
|
8580
8675
|
init as i,
|
|
8581
8676
|
t
|
|
8582
8677
|
};
|
|
8583
|
-
//# sourceMappingURL=index-
|
|
8678
|
+
//# sourceMappingURL=index-DabFemHm.js.map
|