PageSourceSearch

https://www.schuh-vormbrock.de/theme/720ca54726a561a28d67a82433210…/weedesign-web-accessibility.js?1790145966

js schuh-vormbrock.de collected 2026-10-06 17:02:29 UTC 14,989 bytes, 1 lines download raw bytes

1!function(){"use strict";let e={config:(()=>{let e=document.getElementById("WeedesignWebAccessibility");return{next:e?.dataset.next||"Next",prev:e?.dataset.prev||"Previous",form:e?.dataset.form||"Form field",headlines:"true"===e?.dataset.headlines,dom:"true"===e?.dataset.dom,roles:"true"===e?.dataset.roles,aria:"true"===e?.dataset.aria,breadcrumb:"true"===e?.dataset.breadcrumb,slider:"true"===e?.dataset.slider,contrast:"true"===e?.dataset.contrast,pane:"true"===e?.dataset.pane,links:"true"===e?.dataset.links,search:"true"===e?.dataset.search,slide:"true"===e?.dataset.slide,formfield:"true"===e?.dataset.formfield}})(),sliderLabels:{"product-slider-controls-prev":()=>e.config.next,"product-slider-controls-next":()=>e.config.prev},allowedButtonAria:["aria-label","aria-labelledby","aria-describedby","aria-pressed","aria-expanded","aria-disabled"],ariaRoleMap:{"aria-checked":["checkbox","menuitemcheckbox","option","radio"],"aria-selected":["gridcell","option","row","tab","treeitem"],"aria-expanded":["button","link","menuitem","treeitem","combobox","gridcell"],"aria-pressed":["button","menuitem","togglebutton"],"aria-haspopup":["button","link","menuitem","combobox","textbox","treeitem"]},validRoles:new Set(["button","checkbox","link","menuitem","menuitemcheckbox","menuitemradio","option","radio","tab","treeitem","gridcell","combobox","textbox","row","listitem"]),fixAriaRoleMismatches(){try{Object.entries(this.ariaRoleMap).forEach(([e,t])=>{document.querySelectorAll(`[${e}]`).forEach(r=>{if(this.config.search&&r.classList.contains("search-toggle-btn")||this.config.slide&&r.classList.contains("product-slider-item"))return;let i=r.getAttribute("role");i&&this.validRoles.has(i)&&t.includes(i)||r.removeAttribute(e)})})}catch(e){console.error("Error in fixAriaRoleMismatches:",e)}},underlineInaccessibleTextLinks(){try{let e=Array.from(document.querySelectorAll(".cms-element-text a,.cms-element-html a,p a,.tab-content a"));e.forEach(e=>{let t=1===e.childElementCount&&"IMG"===e.firstElementChild.tagName;if(t)return;let r=e.textContent.trim();if(!r)return;let i=window.getComputedStyle(e),a=i.textDecorationLine.includes("underline"),l=i.color!==i.parentElement?.style.color;!a&&l&&(e.style.textDecoration="underline")})}catch(t){console.error("Error in underlineInaccessibleTextLinks:",t)}},fixRequiredChildRoles(){try{Object.entries({list:"listitem",menu:"menuitem",menubar:"menuitem",tablist:"tab",radiogroup:"radio",tree:"treeitem",table:"row"}
1).forEach(([e,t])=>{document.querySelectorAll(`[role="${e}"]`).forEach(r=>{let i=r.querySelectorAll(`[role]:not([role="${t}"])`);i.forEach(i=>{i.closest(`[role="${e}"]`)&&i.closest(`[role="${e}"]`)!==r||i.setAttribute("role",t)})})})}catch(e){console.error("Error in fixRequiredChildRoles:",e)}},patchSliderButtons(){try{document.querySelectorAll('button[class*="slider-controls"],button[class*="slider_control"],button[class*="slider__control"],button[class*="slider_controls"],button[class*="slider__controls"],button[class*="slider-control"]').forEach(t=>{t.hasAttribute("role")||t.setAttribute("role","button");var r=!1;if(!t.hasAttribute("aria-label")){for(let i of t.classList)if(this.sliderLabels[i]){r=!0,t.setAttribute("aria-label",this.sliderLabels[i]());break}!1==r&&t.setAttribute("aria-label",e.config.next)}Array.from(t.attributes).forEach(e=>{e.name.startsWith("aria-")&&!this.allowedButtonAria.includes(e.name)&&t.removeAttribute(e.name)})})}catch(t){console.error("Error in patchSliderButtons:",t)}},fixLinkAccessibility(e="a",t=document){try{let r=e=>{if(!e)return"Link";let t=e.split("/").filter(e=>e).pop()||"Home";return t.charAt(0).toUpperCase()+t.slice(1).replace(/[-_]/g," ")},i=e=>e.tabIndex>=0||e.hasAttribute("tabindex"),a=e=>{let t=e.textContent.trim(),r=e.hasAttribute("aria-label")&&e.getAttribute("aria-label").trim(),i=e.hasAttribute("title")&&e.getAttribute("title").trim(),a=e.querySelector("img")?.hasAttribute("alt")&&e.querySelector("img").getAttribute("alt").trim();return t||r||i||a||"Link"};t.querySelectorAll(e).forEach(e=>{if(a(e))return;i(e)||e.setAttribute("tabindex","0");let t=r(e.getAttribute("href"));e.setAttribute("aria-label",t)})}catch(l){console.error("Error in fixLinkAccessibility:",l)}},addTitleToNavActive(e="Active Navigation Item"){try{let t=new MutationObserver(t=>{t.forEach(t=>{t.addedNodes.length&&document.querySelectorAll(".tns-nav-active").forEach(t=>{t.hasAttribute("title")||t.setAttribute("title",e)})})});return t.observe(document.body,{childList:!0,subtree:!0}),document.querySelectorAll(".tns-nav-active").forEach(t=>{t.hasAttribute("title")||t.setAttribute("title",e)}),t}catch(r){return console.error("Error in addTitleToNavActive:",r),null}},generalDOMFixes(){try{let e=document;if(e.documentElement.lang||(e.documentElement.lang="de"),!e.querySelector("main")){let t=e.createElement("main");for(;e.body.firstChild;)t.appendChild(e.body.firstChild);e.body.appendChild(t)}if(e.querySelectorAll("img").forEach(e=>{let t=e.getAttribute("alt");if(null===t||""===t.trim()){let r=e.getAttribute("data-src")||e.getAttribute("src");if(r){let i=r.split(/[\\/]/).pop()?.trim();e.alt=i||"Image"}else e.alt="Decorative image"}}),e.querySelectorAll('[onclick],[role="button"],[role="link"],input:not([type=\'hidden\']),select,textarea,button').forEach(e=>{e.hasAttribute("tabindex")||e.setAttribute("tabindex","0")}),e.querySelectorAll('[role="dialog"]').forEach(e=>{if(e.hasAttribute("aria-modal")||e.setAttribute("aria-modal","true"),!e.hasAttribute("aria-labelledby")){let t=e.querySelector("h1,h2,h3,h4")||e.firstElementChild;if(t){let r="dialog-title-"+Math.random().toString(36).slice(2);t.id=r,e.setAttribute("aria-labelledby",r)}}}),!e.getElementById("live-region")){let r=e.createElement("div");r.id="live-region",r.setAttribute("aria-live","polite"),r.style.cssText="position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);",e.body.appendChild(r)}this.config.formfield||e.querySelectorAll("input:not([type='hidden']), select, textarea").forEach(t=>{let r=t.id||(t.id="input-"+Math.random().toString(36).slice(2));if(!e.querySelector(`label[for="${r}"]`)){let i=e.createElement("label");i.className="weedesign-web-accessibility",i.htmlFor=r,i.textContent=t.placeholder||this.config.form,t.parentNode.insertBefore(i,t)}})}catch(i){console.error("Error in generalDOMFixes:",i)}},fixMissingListItems(){try{document.querySelectorAll('[role="list"]').forEach(e=>{Array.from(e.children).forEach(e=>{let t="listitem"===e.getAttribute("role")||e.querySelector('[role="listitem"]');if(t)return;let r=e.hasAttribute("role");
1if(r){let i=document.createElement("div");i.setAttribute("role","listitem"),i.className="listitem-wrapper",i.appendChild(e.cloneNode(!0)),e.replaceWith(i)}else e.setAttribute("role","listitem")})})}catch(e){console.error("Error in fixMissingListItems:",e)}},removeInvalidRoles(){try{let e={list:["ul","ol"],listitem:["li"],tablist:["div","nav","ul"],tab:["button","a","li","div"],menu:["ul"],menuitem:["li"],row:["tr"],cell:["td"],table:["table"]};document.querySelectorAll("[role]").forEach(t=>{let r=t.getAttribute("role");if(t.classList.contains("nav-link"))t.removeAttribute("role"),t.removeAttribute("aria-controls"),t.removeAttribute("aria-selected");else{let i=e[r];i&&!i.includes(t.tagName.toLowerCase())&&t.removeAttribute("role")}})}catch(t){console.error("Error in removeInvalidRoles:",t)}},removeAriaFromFooterColumnHeadline(){try{document.querySelectorAll(".footer-column-headline, .footer-column-content").forEach(e=>{Array.from(e.attributes).filter(e=>e.name.startsWith("aria-")).forEach(t=>e.removeAttribute(t.name))})}catch(e){console.error("Error in removeAriaFromFooterColumnHeadline:",e)}},removeInvalidAriaAttributes(){try{let e={button:["aria-label","aria-labelledby","aria-describedby","aria-pressed","aria-expanded","aria-disabled","aria-controls"],link:["aria-label","aria-labelledby","aria-describedby","aria-current","aria-disabled"],list:["aria-label","aria-labelledby","aria-describedby"],listitem:["aria-label","aria-labelledby","aria-describedby","aria-level","aria-posinset","aria-setsize"],menu:["aria-label","aria-labelledby","aria-describedby"],menuitem:["aria-label","aria-labelledby","aria-describedby","aria-checked","aria-disabled","aria-haspopup","aria-expanded","aria-pressed"],tab:["aria-label","aria-labelledby","aria-describedby","aria-selected","aria-controls","aria-disabled"],tablist:["aria-label","aria-labelledby","aria-describedby"],row:["aria-label","aria-labelledby","aria-describedby","aria-selected"],cell:["aria-label","aria-labelledby","aria-describedby","aria-selected"],table:["aria-label","aria-labelledby","aria-describedby"],combobox:["aria-label","aria-labelledby","aria-describedby","aria-expanded","aria-controls","aria-activedescendant"]};document.querySelectorAll("[role]").forEach(t=>{if(this.config.search&&t.classList.contains("search-toggle-btn")||this.config.slide&&t.classList.contains("product-slider-item"))return;let r=t.getAttribute("role"),i=e[r]||[];Array.from(t.attributes).forEach(e=>{e.name.startsWith("aria-")&&!i.includes(e.name)&&t.removeAttribute(e.name)})})}catch(t){console.error("Error in removeInvalidAriaAttributes:",t)}},fixBreadcrumbSeparators(){try{document.querySelectorAll("ol.breadcrumb").forEach(e=>{Array.from(e.children).forEach(t=>{if("div"===t.tagName.toLowerCase()&&t.classList.contains("breadcrumb-placeholder")){let r=document.createElement("li");r.className=t.className,r.innerHTML=t.innerHTML,e.replaceChild(r,t)}})})}catch(e){console.error("Error in fixBreadcrumbSeparators:",e)}},removeAriaHiddenFromProductSliderItems(){if(!this.config.slide)try{document.querySelectorAll(".product-slider-item[aria-hidden]").forEach(e=>e.removeAttribute("aria-hidden"))}catch(e){console.error("Error in removeAriaHiddenFromProductSliderItems:",e)}},correctHeadingOrder(){try{let e=Array.from(document.body.querySelectorAll("h1, h2, h3, h4, h5, h6")),t=0;e.forEach(e=>{let r=parseInt(e.tagName[1]),i=r;if(0===t?i=r:r>t+1?i=t+1:r<t&&(i=t),r!==i){let a=document.createElement(`h${i}`);for(let l of e.attributes)a.setAttribute(l.name,l.value);let o=window.getComputedStyle(e);for(let s=0;s<o.length;s++){let n=o[s];a.style.setProperty(n,o.getPropertyValue(n))}a.innerHTML=e.innerHTML,e.parentNode.replaceChild(a,e),t=i}else t=r})}catch(r){console.error("Error in correctHeadingOrder:",r)}},detailTabCorrection(){try{let e=document.querySelectorAll(".product-detail-tabs-content .tab-pane");e.length>0&&e[0].classList.add("active")}catch(t){console.error("Error in detailTabCorrection:",t)}},watchAndRemoveAriaAttributes(){try{let e=new MutationObserver(e=>{e.forEach(e=>{if("attributes"===e.type&&e.attributeName.startsWith("aria-")){if(this.config.search&&e.target.classList.contains("search-toggle-btn")||this.config.slide&&e.target.classList.contains("product-slider-item"))return;e.target.removeAttribute(e.attributeName)}
1"childList"===e.type&&e.addedNodes.forEach(e=>{e.nodeType===Node.ELEMENT_NODE&&!(this.config.search&&e.classList.contains("search-toggle-btn")||this.config.slide&&e.classList.contains("product-slider-item"))&&(e.classList.contains("footer-column-headline")&&this.removeAriaAttributes(e),e.querySelectorAll(".footer-column-headline").forEach(this.removeAriaAttributes.bind(this)))})})});this.removeAriaAttributes=e=>{Array.from(e.attributes).filter(e=>e.name.startsWith("aria-")).forEach(t=>e.removeAttribute(t.name))},document.querySelectorAll(".footer-column-headline").forEach(this.removeAriaAttributes),e.observe(document.body,{attributes:!0,childList:!0,subtree:!0})}catch(t){console.error("Error in watchAndRemoveAriaAttributes:",t)}},checkAndFixContrast(e="*",t=document){try{let r=/rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d*\.?\d+))?\)/,i=e=>{let t=e.match(r);return t?{r:+t[1],g:+t[2],b:+t[3],a:t[4]?+t[4]:1}:{r:0,g:0,b:0,a:1}},a=(e,t,r=1)=>{let i=e.a*r;return 1===i?{...e,a:1}:{r:Math.round((1-i)*t.r+i*e.r),g:Math.round((1-i)*t.g+i*e.g),b:Math.round((1-i)*t.b+i*e.b),a:1}},l=({r:e,g:t,b:r})=>{let[i,a,l]=[e,t,r].map(e=>(e/=255)<=.03928?e/12.92:((e+.055)/1.055)**2.4);return .2126*i+.7152*a+.0722*l},o=(e,t)=>(Math.max(e,t)+.05)/(Math.min(e,t)+.05),s=e=>{let t=getComputedStyle(e),r=parseFloat(t.fontSize);return r>=18||!(r<14)&&parseInt(t.fontWeight,10)>=700},n=(e,t,r)=>{let i=null,a=0;for(let s=0;s<=255;s+=5){let n={r:s,g:s,b:s},c=l(n),d=o(c,t);d>=4.5&&(!i||Math.abs(d-4.5)<Math.abs(a-4.5))&&(i=n,a=d)}if(!i){let{r:b,g:u,b:h}=e;for(let m=.5;m<=2;m+=.1){let f={r:Math.max(0,Math.min(255,Math.round(b*m))),g:Math.max(0,Math.min(255,Math.round(u*m))),b:Math.max(0,Math.min(255,Math.round(h*m)))},A=l(f),g=o(A,t);g>=4.5&&(!i||Math.abs(g-4.5)<Math.abs(a-4.5))&&(i=f,a=g)}}return i?`rgb(${i.r}, ${i.g}, ${i.b})`:r?"#000000":"#FFFFFF"},c=e=>{let t=e;for(;t&&t!==document.body;){let r=getComputedStyle(t).backgroundColor;if("rgba(0, 0, 0, 0)"!==r&&"transparent"!==r)return r;t=t.parentElement}return"rgb(255, 255, 255)"},d=e=>{let t=1,r=e;for(;r&&r!==document.body;){let i=getComputedStyle(r);t*=parseFloat(i.opacity),r=r.parentElement}return t};"*"==e&&(e="p, span, h1, h2, h3, h4, h5, h6, a, li, div, article, section, header, footer, nav, button, label, figcaption, blockquote, td, th");let b=t.querySelectorAll(e);for(let u of b){let h=getComputedStyle(u),m=h.color,f=parseFloat(h.opacity),A=d(u);if(!m||"transparent"===m||0===f||0===A)continue;let g=h.backgroundColor;("transparent"===g||"rgba(0, 0, 0, 0)"===g)&&(g=c(u));let y=i(m),p=i(g),v=a(y,p,A),E=l(v),x=l(p),$=o(E,x),L=s(u)?3:4.5;$<L&&(u.style.color=n(y,x,x>E),f<.7&&(u.style.opacity=1))}}catch(S){console.error("Error in checkAndFixContrast:",S)}},runAll(){try{this.config.aria&&(this.removeAriaFromFooterColumnHeadline(),this.removeAriaHiddenFromProductSliderItems(),this.fixAriaRoleMismatches(),this.removeInvalidAriaAttributes()),this.config.breadcrumb&&this.fixBreadcrumbSeparators(),this.config.roles&&(this.fixRequiredChildRoles(),this.fixMissingListItems(),this.removeInvalidRoles()),this.config.dom&&this.generalDOMFixes(),this.config.headlines&&this.correctHeadingOrder(),this.config.slider&&this.patchSliderButtons(),this.config.links&&this.underlineInaccessibleTextLinks()}catch(e){console.error("Error in runAll:",e)}},init(){try{document.addEventListener("DOMContentLoaded",()=>{for(var e=this,t=0;t<5;t++)window.setTimeout(function(){e.runAll()},250*t);if(this.config.aria&&this.watchAndRemoveAriaAttributes(),this.config.slider&&this.addTitleToNavActive(),this.fixLinkAccessibility(),this.config.contrast&&this.checkAndFixContrast("p, h1, h2, h3, h4, h5, h6, span, div"),this.config.pane)for(var t=0;t<10;t++)window.setTimeout(function(){e.detailTabCorrection()},250*t);let r=new MutationObserver(e=>{let t=e.some(e=>{let t=e.target;return t.classList.contains("search-toggle-btn")||t.classList.contains("search-panel")||t.closest(".search-panel")||t.closest(".search-toggle-btn")});t||this.runAll()});r.observe(document.body,{childList:!0,subtree:!0})})}catch(e){console.error("Error in init:",e)}}};e.init()}();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.