accessify-widget 0.3.43 → 0.3.45
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/{contrast-BcTWODsK.js → contrast-CgazHyn5.js} +3 -2
- package/dist/contrast-CgazHyn5.js.map +1 -0
- package/dist/{index-B_5fu0ZB.js → index-BYX1v8Zp.js} +31 -16
- package/dist/{index-B_5fu0ZB.js.map → index-BYX1v8Zp.js.map} +1 -1
- package/dist/{keyboard-nav-BABYKgnj.js → keyboard-nav-IndwdVa7.js} +2 -2
- package/dist/{keyboard-nav-BABYKgnj.js.map → keyboard-nav-IndwdVa7.js.map} +1 -1
- package/dist/loader.min.js +1 -1
- package/dist/{page-structure-BiKOV23k.js → page-structure-DzIGNHNJ.js} +2 -2
- package/dist/{page-structure-BiKOV23k.js.map → page-structure-DzIGNHNJ.js.map} +1 -1
- package/dist/widget.js +1 -1
- package/dist/widget.js.map +1 -1
- package/package.json +1 -1
- package/dist/contrast-BcTWODsK.js.map +0 -1
package/dist/accessify.mjs
CHANGED
|
@@ -43,12 +43,13 @@ const EX = ":not(#accessify-root):not(#accessify-root *)";
|
|
|
43
43
|
function buildCSS(mode) {
|
|
44
44
|
const t = TOKENS[mode];
|
|
45
45
|
const isHigh = mode === "high";
|
|
46
|
+
const MEDIA_EX = ":not(img):not(video):not(picture):not(canvas):not(svg):not(iframe)";
|
|
46
47
|
const base = `
|
|
47
48
|
html {
|
|
48
49
|
color-scheme: ${t.colorScheme} !important;
|
|
49
50
|
}
|
|
50
51
|
html, body,
|
|
51
|
-
body *${EX} {
|
|
52
|
+
body *${EX}${MEDIA_EX} {
|
|
52
53
|
background-color: ${t.pageBg} !important;
|
|
53
54
|
}
|
|
54
55
|
`;
|
|
@@ -169,4 +170,4 @@ function createContrastModule() {
|
|
|
169
170
|
export {
|
|
170
171
|
createContrastModule as default
|
|
171
172
|
};
|
|
172
|
-
//# sourceMappingURL=contrast-
|
|
173
|
+
//# sourceMappingURL=contrast-CgazHyn5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contrast-CgazHyn5.js","sources":["../src/features/contrast.ts"],"sourcesContent":["// ---------------------------------------------------------------------------\n// Accessify – Contrast Modes (Accessibility Feature)\n// ---------------------------------------------------------------------------\n//\n// Three modes: light, dark, high — each as a clearly defined token set.\n//\n// Design principles:\n// 1. CONTENT elements (text, headings, links, buttons, form controls) get\n// explicit color overrides — these are what users need to read.\n// 2. STRUCTURAL elements (wrapper divs, sections, nav) get background only\n// via `html` and `body` — not individually. This prevents breaking\n// Framer/CSS-Grid/Flex layouts where divs use fit-content, overflow:hidden,\n// or fixed heights.\n// 3. The widget itself (inside #accessify-root / Shadow DOM) is NEVER touched.\n// 4. Focus indicators are defined in ALL modes, not just high contrast.\n// 5. border-color is NOT globally overridden — only on elements that have\n// visible borders for content separation (tables, fieldsets, hr).\n//\n// Selector strategy:\n// - `:where()` for zero-specificity (site styles can still win if needed,\n// but `!important` ensures accessibility overrides take priority).\n// - `body :where(...)` scopes to page content.\n// - `body *:not(#accessify-root):not(#accessify-root *)` used only where\n// we need broad text color coverage.\n// - Framer-safe: no background-color on generic div/section/article — only\n// on html/body. Content readability comes from text color, not from\n// painting every container.\n//\n// ---------------------------------------------------------------------------\n\nimport type { FeatureModule, FeatureState } from '../types';\n\ntype ContrastMode = 'off' | 'light' | 'dark' | 'high';\n\n// ---------------------------------------------------------------------------\n// Token definitions — each mode is a self-contained color system\n// ---------------------------------------------------------------------------\n\ninterface ContrastTokens {\n colorScheme: string;\n pageBg: string;\n text: string;\n textStrong: string; // headings, bold\n link: string;\n linkVisited: string;\n focusRing: string;\n borderContent: string; // for tables, hr, fieldset — NOT every div\n inputBg: string;\n inputBorder: string;\n imgFilter: string; // empty string = no filter\n}\n\nconst TOKENS: Record<Exclude<ContrastMode, 'off'>, ContrastTokens> = {\n light: {\n colorScheme: 'light',\n pageBg: '#fbf7ef',\n text: '#1a1a1a',\n textStrong: '#0d0d0d',\n link: '#0047b3',\n linkVisited: '#3d2b85',\n focusRing: '#0047b3',\n borderContent:'#888078',\n inputBg: '#ffffff',\n inputBorder: '#6f675d',\n imgFilter: '',\n },\n dark: {\n colorScheme: 'dark',\n pageBg: '#101418',\n text: '#e8e4dc',\n textStrong: '#ffffff',\n link: '#7cc8f5',\n linkVisited: '#b8a0e8',\n focusRing: '#7cc8f5',\n borderContent:'#3a4a58',\n inputBg: '#1a2028',\n inputBorder: '#4a5a68',\n imgFilter: 'brightness(0.90) contrast(1.06)',\n },\n high: {\n colorScheme: 'dark',\n pageBg: '#000000',\n text: '#ffffff',\n textStrong: '#ffffff',\n link: '#ffff00',\n linkVisited: '#ffff00',\n focusRing: '#ffff00',\n borderContent:'#ffffff',\n inputBg: '#000000',\n inputBorder: '#ffffff',\n imgFilter: 'contrast(1.25) brightness(0.95)',\n },\n};\n\n// ---------------------------------------------------------------------------\n// CSS generation — separated into logical layers\n// ---------------------------------------------------------------------------\n\n/** Elements to exclude from page-level contrast (the widget itself) */\nconst EX = ':not(#accessify-root):not(#accessify-root *)';\n\nfunction buildCSS(mode: Exclude<ContrastMode, 'off'>): string {\n const t = TOKENS[mode];\n const isHigh = mode === 'high';\n\n // ── Layer 1: Background on structural elements ──\n // Override background-color broadly BUT exclude media elements (img, video,\n // picture, canvas, svg, iframe) — changing their bg can break blend-modes,\n // lazy-load opacity transitions, and transparent overlays on Shopify/etc.\n const MEDIA_EX = ':not(img):not(video):not(picture):not(canvas):not(svg):not(iframe)';\n const base = `\n html {\n color-scheme: ${t.colorScheme} !important;\n }\n html, body,\n body *${EX}${MEDIA_EX} {\n background-color: ${t.pageBg} !important;\n }\n `;\n\n // ── Layer 2: Text color on ALL content elements ──\n // Using body * ensures text inside any container is readable, without\n // painting the container's background (which would break layouts).\n const textColor = `\n body *${EX} {\n color: ${t.text} !important;\n }\n body :where(h1, h2, h3, h4, h5, h6, strong, b, th)${EX} {\n color: ${t.textStrong} !important;\n }\n `;\n\n // ── Layer 3: Links — distinct color + underline for visibility ──\n const links = `\n body :where(a)${EX} {\n color: ${t.link} !important;\n text-decoration: underline !important;\n text-decoration-color: ${t.link} !important;\n ${isHigh ? 'text-decoration-thickness: 2px !important; text-underline-offset: 3px !important;' : ''}\n }\n body :where(a:visited)${EX} {\n color: ${t.linkVisited} !important;\n }\n body :where(a:hover, a:focus)${EX} {\n opacity: 0.85 !important;\n }\n `;\n\n // ── Layer 4: Form controls — explicit bg + border for readability ──\n // These get background because they ARE content, not structural wrappers.\n const forms = `\n body :where(input, textarea, select)${EX} {\n background-color: ${t.inputBg} !important;\n color: ${t.text} !important;\n border: 1px solid ${t.inputBorder} !important;\n box-shadow: none !important;\n }\n body :where(button, [role=\"button\"])${EX} {\n color: ${t.text} !important;\n border-color: ${t.inputBorder} !important;\n ${isHigh ? `background-color: ${t.pageBg} !important; border: 2px solid ${t.inputBorder} !important;` : ''}\n }\n `;\n\n // ── Layer 5: Focus indicators — in ALL modes, stronger in high ──\n const focus = `\n body :where(a, button, input, textarea, select, [tabindex])${EX}:focus-visible {\n outline: ${isHigh ? '3px' : '2px'} solid ${t.focusRing} !important;\n outline-offset: 2px !important;\n }\n `;\n\n // ── Layer 6: Content borders — only on elements that visually separate ──\n // NOT on generic divs — that destroys Framer card layouts.\n const borders = `\n body :where(table, th, td, hr, fieldset)${EX} {\n border-color: ${t.borderContent} !important;\n }\n `;\n\n // ── Layer 7: Images — gentle filter, skip decorative SVG icons ──\n const images = t.imgFilter ? `\n body :where(img, video, picture)${EX} {\n filter: ${t.imgFilter} !important;\n }\n ` : '';\n\n // ── Layer 8: High contrast extras ──\n const highExtras = isHigh ? `\n body :where(::placeholder)${EX} {\n color: #aaaaaa !important;\n opacity: 1 !important;\n }\n body :where(::selection) {\n background: #ffff00 !important;\n color: #000000 !important;\n }\n body :where(mark)${EX} {\n background: #ffff00 !important;\n color: #000000 !important;\n }\n ` : '';\n\n return base + textColor + links + forms + focus + borders + images + highExtras;\n}\n\n// ---------------------------------------------------------------------------\n// Module\n// ---------------------------------------------------------------------------\n\nexport default function createContrastModule(): FeatureModule {\n let currentMode: ContrastMode = 'off';\n const STYLE_ID = 'accessify-contrast';\n const STORAGE_KEY = 'accessify-contrast-mode';\n\n function applyStyles(mode: ContrastMode) {\n let styleEl = document.getElementById(STYLE_ID);\n if (mode === 'off') {\n styleEl?.remove();\n return;\n }\n if (!styleEl) {\n styleEl = document.createElement('style');\n styleEl.id = STYLE_ID;\n document.head.appendChild(styleEl);\n }\n styleEl.textContent = buildCSS(mode);\n }\n\n function activate() {\n const saved = localStorage.getItem(STORAGE_KEY) as ContrastMode;\n currentMode = saved === 'light' || saved === 'dark' || saved === 'high' ? saved : 'dark';\n applyStyles(currentMode);\n }\n\n function deactivate() {\n currentMode = 'off';\n applyStyles('off');\n localStorage.removeItem(STORAGE_KEY);\n }\n\n return {\n id: 'contrast',\n name: () => 'Contrast',\n description: 'Increase contrast for better readability',\n icon: 'contrast',\n category: 'visual',\n activate,\n deactivate,\n getState: (): FeatureState => ({ id: 'contrast', enabled: currentMode !== 'off', value: currentMode }),\n setState: (mode: ContrastMode) => {\n currentMode = mode === 'light' || mode === 'dark' || mode === 'high' ? mode : 'off';\n applyStyles(currentMode);\n if (currentMode === 'off') {\n localStorage.removeItem(STORAGE_KEY);\n } else {\n localStorage.setItem(STORAGE_KEY, currentMode);\n }\n },\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -6618,16 +6618,16 @@ function FeatureGrid($$anchor, $$props) {
|
|
|
6618
6618
|
const AI_FEATURES = /* @__PURE__ */ new Set(["text-simplify", "alt-text"]);
|
|
6619
6619
|
const loadedModules = /* @__PURE__ */ new Map();
|
|
6620
6620
|
const FEATURE_LOADERS = {
|
|
6621
|
-
contrast: () => import("./contrast-
|
|
6621
|
+
contrast: () => import("./contrast-CgazHyn5.js"),
|
|
6622
6622
|
"text-size": () => import("./text-size-m_mHNPWo.js"),
|
|
6623
|
-
"keyboard-nav": () => import("./keyboard-nav-
|
|
6623
|
+
"keyboard-nav": () => import("./keyboard-nav-IndwdVa7.js"),
|
|
6624
6624
|
"link-highlight": () => import("./link-highlight-DBGm067Y.js"),
|
|
6625
6625
|
"reading-guide": () => import("./reading-guide-VT8NciIL.js"),
|
|
6626
6626
|
"reading-mask": () => import("./reading-mask-BABChuCz.js"),
|
|
6627
6627
|
"animation-stop": () => import("./animation-stop-_chC8bg1.js"),
|
|
6628
6628
|
"hide-images": () => import("./hide-images-B_LeCBcd.js"),
|
|
6629
6629
|
"big-cursor": () => import("./big-cursor-B2UKu9dQ.js"),
|
|
6630
|
-
"page-structure": () => import("./page-structure-
|
|
6630
|
+
"page-structure": () => import("./page-structure-DzIGNHNJ.js"),
|
|
6631
6631
|
tts: () => import("./tts-CjszLRnb.js"),
|
|
6632
6632
|
"text-simplify": () => import("./text-simplify-CK2GFhq2.js"),
|
|
6633
6633
|
"alt-text": () => Promise.resolve().then(() => altText)
|
|
@@ -7721,11 +7721,11 @@ function createWidgetStyles(config2) {
|
|
|
7721
7721
|
all: initial;
|
|
7722
7722
|
display: block !important;
|
|
7723
7723
|
position: fixed !important;
|
|
7724
|
-
|
|
7725
|
-
|
|
7726
|
-
overflow: visible !important;
|
|
7727
|
-
pointer-events: none !important;
|
|
7724
|
+
${isBottom ? "bottom: 20px" : "top: 20px"} !important;
|
|
7725
|
+
${isRight ? "right: 20px" : "left: 20px"} !important;
|
|
7728
7726
|
z-index: ${z} !important;
|
|
7727
|
+
width: auto !important; height: auto !important;
|
|
7728
|
+
overflow: visible !important;
|
|
7729
7729
|
contain: none !important;
|
|
7730
7730
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
7731
7731
|
font-size: 16px;
|
|
@@ -7763,11 +7763,8 @@ function createWidgetStyles(config2) {
|
|
|
7763
7763
|
|
|
7764
7764
|
/* ─── Trigger ─── */
|
|
7765
7765
|
.accessify-trigger {
|
|
7766
|
-
position:
|
|
7767
|
-
${isBottom ? "bottom: 20px" : "top: 20px"};
|
|
7768
|
-
${isRight ? "right: 20px" : "left: 20px"};
|
|
7766
|
+
position: static;
|
|
7769
7767
|
z-index: ${z};
|
|
7770
|
-
pointer-events: auto;
|
|
7771
7768
|
width: 56px; height: 56px;
|
|
7772
7769
|
border: none; border-radius: 16px;
|
|
7773
7770
|
background: ${triggerBg || "linear-gradient(135deg, #545d8f, #3d4775)"};
|
|
@@ -7798,7 +7795,6 @@ function createWidgetStyles(config2) {
|
|
|
7798
7795
|
position: fixed; top: 0; bottom: 0;
|
|
7799
7796
|
${isRight ? "right: 0" : "left: 0"};
|
|
7800
7797
|
z-index: ${z - 1};
|
|
7801
|
-
pointer-events: auto;
|
|
7802
7798
|
width: min(${panelW}, 100vw); height: 100vh; height: 100dvh;
|
|
7803
7799
|
display: flex; flex-direction: column;
|
|
7804
7800
|
border-radius: ${panelRadius};
|
|
@@ -8333,7 +8329,12 @@ function createAltTextModule(aiService, initialLang = "de", serverConfig) {
|
|
|
8333
8329
|
}
|
|
8334
8330
|
function isValidImage(img) {
|
|
8335
8331
|
if (img.closest("#accessify-root") || img.closest("accessify-widget")) return false;
|
|
8336
|
-
if (img.complete && img.naturalWidth > 0 && (img.naturalWidth <
|
|
8332
|
+
if (img.complete && img.naturalWidth > 0 && (img.naturalWidth < 50 || img.naturalHeight < 50)) return false;
|
|
8333
|
+
const rect = img.getBoundingClientRect();
|
|
8334
|
+
if (rect.width < 40 || rect.height < 40) return false;
|
|
8335
|
+
const style = getComputedStyle(img);
|
|
8336
|
+
if (style.display === "none" || style.visibility === "hidden" || style.opacity === "0") return false;
|
|
8337
|
+
if (img.getAttribute("role") === "presentation" || img.getAttribute("aria-hidden") === "true") return false;
|
|
8337
8338
|
return true;
|
|
8338
8339
|
}
|
|
8339
8340
|
function needsAltText(img) {
|
|
@@ -8421,7 +8422,7 @@ function createAltTextModule(aiService, initialLang = "de", serverConfig) {
|
|
|
8421
8422
|
}
|
|
8422
8423
|
function positionBadge(target, badge, tooltip) {
|
|
8423
8424
|
const rect = target.getBoundingClientRect();
|
|
8424
|
-
if (rect.width <
|
|
8425
|
+
if (rect.width < 40 || rect.height < 40 || rect.bottom < 0 || rect.top > window.innerHeight + 200 || rect.right < 0 || rect.left > window.innerWidth + 200) {
|
|
8425
8426
|
badge.style.display = "none";
|
|
8426
8427
|
tooltip.style.display = "none";
|
|
8427
8428
|
return;
|
|
@@ -8876,7 +8877,21 @@ async function init(userConfig = {}) {
|
|
|
8876
8877
|
containerEl.id = "accessify-root";
|
|
8877
8878
|
containerEl.setAttribute("role", "complementary");
|
|
8878
8879
|
containerEl.setAttribute("aria-label", t("widget.title", config.lang));
|
|
8879
|
-
|
|
8880
|
+
const pos = config.position || "bottom-right";
|
|
8881
|
+
const isRight = pos.includes("right");
|
|
8882
|
+
const isBottom = pos.includes("bottom");
|
|
8883
|
+
const z = config.zIndex || 999999;
|
|
8884
|
+
containerEl.style.cssText = [
|
|
8885
|
+
"position:fixed!important",
|
|
8886
|
+
isBottom ? "bottom:20px!important" : "top:20px!important",
|
|
8887
|
+
isRight ? "right:20px!important" : "left:20px!important",
|
|
8888
|
+
`z-index:${z}!important`,
|
|
8889
|
+
"width:auto!important",
|
|
8890
|
+
"height:auto!important",
|
|
8891
|
+
"overflow:visible!important",
|
|
8892
|
+
"contain:none!important",
|
|
8893
|
+
"display:block!important"
|
|
8894
|
+
].join(";") + ";";
|
|
8880
8895
|
const shadow = containerEl.attachShadow({ mode: "open", delegatesFocus: true });
|
|
8881
8896
|
const sheet = new CSSStyleSheet();
|
|
8882
8897
|
sheet.replaceSync(createWidgetStyles(config));
|
|
@@ -8976,4 +8991,4 @@ export {
|
|
|
8976
8991
|
init as i,
|
|
8977
8992
|
t
|
|
8978
8993
|
};
|
|
8979
|
-
//# sourceMappingURL=index-
|
|
8994
|
+
//# sourceMappingURL=index-BYX1v8Zp.js.map
|