PageSourceSearch

https://www.limage.de/theme/ad9a646e10c6417f59c33103b8332490/js/tc…/tcinn-a11y-toolbar-app.js?1791453355

js limage.de collected 2026-10-08 20:10:40 UTC 23,383 bytes, 7 lines download raw bytes

1(()=>{"use strict";var t={156(t){var e=function(t){var e;return!!t&&"object"==typeof t&&"[object RegExp]"!==(e=Object.prototype.toString.call(t))&&"[object Date]"!==e&&t.$$typeof!==i},i="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function n(t,e){return!1!==e.clone&&e.isMergeableObject(t)?a(Array.isArray(t)?[]:{},t,e):t}function o(t,e,i){return t.concat(e).map(function(t){return n(t,i)})}function r(t){return Object.keys(t).concat(Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter(function(e){return Object.propertyIsEnumerable.call(t,e)}):[])}function s(t,e){try{return e in t}catch(t){return!1}}function a(t,i,l){(l=l||{}).arrayMerge=l.arrayMerge||o,l.isMergeableObject=l.isMergeableObject||e,l.cloneUnlessOtherwiseSpecified=n;var c,d,g=Array.isArray(i);return g!==Array.isArray(t)?n(i,l):g?l.arrayMerge(t,i,l):(d={},(c=l).isMergeableObject(t)&&r(t).forEach(function(e){d[e]=n(t[e],c)}),r(i).forEach(function(e){(!s(t,e)||Object.hasOwnProperty.call(t,e)&&Object.propertyIsEnumerable.call(t,e))&&(s(t,e)&&c.isMergeableObject(i[e])?d[e]=(function(t,e){if(!e.customMerge)return a;var i=e.customMerge(t);return"function"==typeof i?i:a})(e,c)(t[e],i[e],c):d[e]=n(i[e],c))}),d)}a.all=function(t,e){if(!Array.isArray(t))throw Error("first argument should be an array");return t.reduce(function(t,i){return a(t,i,e)},{})},t.exports=a}},e={};function i(n){var o=e[n];if(void 0!==o)return o.exports;var r=e[n]={exports:{}};return t[n](r,r.exports,i),r.exports}i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var n=i(156),o=i.n(n);class r{static ucFirst(t){return t.charAt(0).toUpperCase()+t.slice(1)}static lcFirst(t){return t.charAt(0).toLowerCase()+t.slice(1)}static toDashCase(t){return t.replace(/([A-Z])/g,"-$1").replace(/^-/,"").toLowerCase()}static toLowerCamelCase(t,e){let i=r.toUpperCamelCase(t,e);return r.lcFirst(i)}static toUpperCamelCase(t,e){return e?t.split(e).map(t=>r.ucFirst(t.toLowerCase())).join(""):r.ucFirst(t.toLowerCase())}static parsePrimitive(t){try{return/^\d+(.|,)\d+$/.test(t)&&(t=t.replace(",",".")),JSON.parse(t)}catch(e){return t.toString()}}}class s{constructor(t=document){this._el=t,t.$emitter=this,this._listeners=[]}publish(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=new CustomEvent(t,{detail:e,cancelable:i});return this.el.dispatchEvent(n),n}subscribe(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this,o=t.split("."),r=i.scope?e.bind(i.scope):e;if(i.once&&!0===i.once){let e=r;r=function(i){n.unsubscribe(t),e(i)}}return this.el.addEventListener(o[0],r),this.listeners.push({splitEventName:o,opts:i,cb:r}),!0}unsubscribe(t){let e=t.split(".");return this.listeners=this.listeners.reduce((t,i)=>([...i.splitEventName].sort().toString()===e.sort().toString()?this.el.removeEventListener(i.splitEventName[0],i.cb):t.push(i),t),[]),!0}reset(){return this.listeners.forEach(t=>{this.el.removeEventListener(t.splitEventName[0],t.cb)}),this.listeners=[],!0}get el(){return this._el}set el(t){this._el=t}get listeners(){return this._listeners}set listeners(t){this._listeners=t}}class a{constructor(t,e={},i=!1){if(!(t instanceof Node)){console.warn(`There is no valid element given while trying to create a plugin instance for "${i}".`);return}this.el=t,this.$emitter=new s(this.el),this._pluginName=this._getPluginName(i),this.options=this._mergeOptions(e),this._initialized=!1,this._registerInstance(),this._init()}init(){console.warn(`The "init" method for the plugin "${this._pluginName}" is not defined. The plugin will not be initialized.`)}update(){}_init(){this._initialized||(this.init(),this._initialized=!0)}_update(){this._initialized&&this.update()}_mergeOptions(t){let e=[this.constructor.options,this.options,t];return e.push(this._getConfigFromDataAttribute()),e.push(this._getOptionsFromDataAttribute()),o().all(e.filter(t=>t instanceof Object&&!(t instanceof Array)).map(t=>t||{}))}_getConfigFromDataAttribute(){let t={};if("function"!=typeof this.el.getAttribute)return t;let e=r.toDashCase(this._pluginName),i=this.el.getAttribute(`data-${e}-config`);return i?window.PluginConfigManager.get(this._pluginName,i):t}_getOptionsFromDataAttribute(){let t={};if("function"!=typeof this.el.getAttribute)return t;let e=r.toDashCase(this._pluginName),i=this.el.getAttribute(`data-${e}-options`);if(i)try{return JSON.parse(i)}catch(t){console.error(`The data attribute "data-${e}-options" could not be parsed to json: ${t.message}`)}return t}_registerInstance(){window.PluginManager.getPluginInstancesFromElement(this.el).set(this._pluginName,this),window.PluginManager.getPlugin(this._pluginName,!1).get("instances").push(this)}_getPluginName(t){return t||(t=this.constructor.name),t}}window.PluginManager.register("TcinnA11yToolbarPlugin",class extends a{init(){if(this.toolbar=document.getElementById("tcinn-a11y-toolbar"),!this.toolbar)return;setTimeout(()=>{this.toolbar.classList.add("visible")},100);let t="tcinn-a11y-overlay";if(!document.getElementById(t)){let e=document.createElement("div");e.id=t,document.body.appendChild(e)}this.t=window.TcinnA11ySnippets||{},this.contrastLevel=this.toolbar.dataset.contrastLevel||"AA",this.excludedClasse
1s=(this.toolbar.dataset.excludedClasses||"").split(",").map(t=>t.trim()).filter(t=>""!==t),this.threshold="AAA"===this.contrastLevel?7:4.5,this.minFontPx=12,this.showButton=document.getElementById("show-toolbar-button"),this.closeButton=document.getElementById("close-toolbar-button"),this.cookieGroup=this.toolbar.dataset.cookieGroup,this.cookieConsentMap={basic:"cookie-preference",comfort:"youtube-video"},this.consentCookieName=this.cookieConsentMap[this.cookieGroup],this.storageKey="tcinnA11y.contrastActive",this.contrastActive="true"===localStorage.getItem(this.storageKey),this.modifiedContrastElements=new Set,this.placeholderStyleElement=null,this.svgExcludeContainers=[".twt-communities-list"],this.a11yToggles=[{btnId:"underline-links-toggle-button",bodyClass:"tcinn-a11y-underline-links",storageKey:"tcinnA11y.underlineLinks"},{btnId:"readable-font-toggle-button",bodyClass:"tcinn-a11y-readable-font",storageKey:"tcinnA11y.readableFont"},{btnId:"no-animations-toggle-button",bodyClass:"tcinn-a11y-no-animations",storageKey:"tcinnA11y.noAnimations"},{btnId:"large-cursor-toggle-button",bodyClass:"tcinn-a11y-large-cursor",storageKey:"tcinnA11y.largeCursor"},{btnId:"inverted-toggle-button",bodyClass:"tcinn-a11y-inverted",storageKey:"tcinnA11y.inverted"},{btnId:"monochrome-toggle-button",bodyClass:"tcinn-a11y-monochrome",storageKey:"tcinnA11y.monochrome"},{btnId:"desaturate-toggle-button",bodyClass:"tcinn-a11y-desaturate",storageKey:"tcinnA11y.desaturate"},{btnId:"saturate-toggle-button",bodyClass:"tcinn-a11y-saturate",storageKey:"tcinnA11y.saturate"},{btnId:"headings-outline-toggle-button",bodyClass:"tcinn-a11y-headings-outline",storageKey:"tcinnA11y.headingsOutline"},{btnId:"reading-guide-toggle-button",bodyClass:"tcinn-a11y-reading-guide",storageKey:"tcinnA11y.readingGuide"}],this.a11yToggles.push({btnId:"reset-toggle-button",handler:"resetAll"}),this.initToolbarLogic(),this._initToolbarPlacement()}initToolbarLogic(){this.initToolbarToggle(),this.initFontSizeToggle(),this.initContrastToggle(),this.initA11yGenericToggles(),this.initNoImagesToggle(),this.initUniversalAccessibilityObserver(),"1"===this.toolbar.dataset.dev&&this.initDevTools(),this.initAriaSync()}_initToolbarPlacement(){let t="has-moved",e=this.toolbar.parentNode,i=this.toolbar.nextSibling,n=document.createElement("div");n.id="tcinn-a11y-toolbar-placeholder",e.insertBefore(n,i);let o=()=>{let i=document.querySelector("footer.footer-main");window.innerWidth<992?i&&this.toolbar.parentNode!==i.parentNode&&(i.insertAdjacentElement("afterend",this.toolbar),this.toolbar.classList.add(t)):this.toolbar.parentNode!==e&&(e.insertBefore(this.toolbar,n),this.toolbar.classList.remove(t))};window.addEventListener("resize",o),o()}initToolbarToggle(){this.closeButton&&this.showButton&&(this.closeButton.addEventListener("click",this.toggleToolbar.bind(this)),this.showButton.addEventListener("click",this.toggleToolbar.bind(this)),"false"===localStorage.getItem("tcinnA11y.toolbarVisible")&&(this.toolbar.classList.add("hidden"),this.showButton.classList.remove("hidden")))}initFontSizeToggle(){let t=document.getElementById("font-toggle-button");t&&(t.addEventListener("click",this.toggleFontSize.bind(this)),"true"===localStorage.getItem("tcinnA11y.fontSize16")&&(t.classList.add("active"),this.setFontSize()))}initContrastToggle(){let t=document.getElementById("contrast-toggle-button");t&&(this.contrastActive&&(t.classList.add("active"),this.adjustPageTextContrast(),this.applyPlaceholderContrast()),t.addEventListener("click",()=>{this.contrastActive=!this.contrastActive,this.safeSetItem(this.storageKey,this.contrastActive),t.classList.toggle("active",this.contrastActive),this.contrastActive?(this.adjustPageTextContrast(),this.applyPlaceholderContrast()):(this.revertPlaceholderContrast(),this.revertContrastAdjustments())}))}initA11yGenericToggles(){this.a11yToggles.forEach(t=>{let{btnId:e,bodyClass:i,storageKey:n,handler:o}=t,r=document.getElementById(e);if(r){if(o){r.addEventListener("click",this[o].bind(this));return}"true"===localStorage.getItem(n)&&(document.body.classList.add(i),r.classList.add("active"),this.runSpecial(n,!0)),r.addEventListener("click",()=>{let t=!r.classList.contains("active");r.classList.toggle("active",t),document.body.classList.toggle(i,t),this.safeSetItem(n,t?"true":"false"),this.runSpecial(n,t)})}})}initNoImagesToggle(){let t=document.getElementById("no-images-toggle-button");if(!t)return;let e="true"===localStorage.getItem("tcinnA11y.noImagesActive");e&&(t.classList.add("active"),this.runNoImages(!0)),t.addEventListener("click",()=>{e=!e,this.safeSetItem("tcinnA11y.noImagesActive",e?"true":"false"),t.classList.toggle("active",e),this.runNoImages(e)})}toggleToolbar(){let t=this.toolbar.classList.toggle("hidden");this.showButton.classList.toggle("hidden",!t),this.safeSetItem("tcinnA11y.toolbarVisible",t?"false":"true")}isExcluded(t){if(!t)return!1;if("tcinn-a11y-toolbar"===t.id)return!0;for(;t;
1){if(t.classList){for(let e of this.excludedClasses)if(t.classList.contains(e))return!0}t=t.parentElement}return!1}setFontSize(){document.querySelectorAll("*").forEach(t=>{let e=parseFloat(window.getComputedStyle(t).fontSize);e>0&&!t.closest("#tcinn-a11y-toolbar, #show-toolbar-button")&&e<16&&(t.hasAttribute("data-original-font-size")||t.setAttribute("data-original-font-size",t.style.fontSize||""),t.style.fontSize="16px")})}resetFontSize(){document.querySelectorAll("[data-original-font-size]").forEach(t=>{t.style.fontSize=t.getAttribute("data-original-font-size"),t.removeAttribute("data-original-font-size")})}toggleFontSize(){let t=document.getElementById("font-toggle-button");t&&(t.classList.contains("active")?(this.resetFontSize(),t.classList.remove("active"),this.safeRemoveItem("tcinnA11y.fontSize16")):(this.setFontSize(),t.classList.add("active"),this.safeSetItem("tcinnA11y.fontSize16","true")))}adjustPageTextContrast(){let t=document.querySelectorAll("body *"),e=new Map;t.forEach(t=>{for(let e of this.svgExcludeContainers)if(t.closest(e))return;if(this.isExcluded(t))return;let i=this.getEffectiveBackgroundColorWithFallback(t);i&&(e.set(t,i),Array.from(t.children).forEach(t=>{if(!e.has(t)){let n=window.getComputedStyle(t),o=this.parseColor(n.backgroundColor);o&&0!==o.a&&(0!==o.r||0!==o.g||0!==o.b||0!==o.a)||e.set(t,i)}}))}),t.forEach(t=>{for(let e of this.svgExcludeContainers)if(t.closest(e))return;if(this.isExcluded(t))return;let i=window.getComputedStyle(t);if("hidden"===i.visibility||"none"===i.display||0===parseFloat(i.fontSize))return;let n=t.classList&&t.classList.contains("icon")&&t.querySelector("svg");if(!(t.innerText&&t.innerText.trim()||n))return;let o=e.get(t);if(!o){let i=t.parentElement;for(;i&&!o;)o=e.get(i),i=i.parentElement}if(o||(o=this.getEffectiveBackgroundColorWithFallback(t)),!o)return;let r=this.parseColor(i.color)||this.parseRGB(i.color);if(r&&this.getContrastRatio(r,o)<this.threshold){let e=this.adjustTextContrast(r,o,this.threshold);e&&(t.dataset.originalColor||(t.dataset.originalColor=i.color,this.modifiedContrastElements.add(t)),t.style.color=e)}})}getEffectiveBackgroundColorWithFallback(t){let e=t,i=new Set;for(;e&&e!==document.documentElement&&!i.has(e);){i.add(e);let t=window.getComputedStyle(e),n=t.backgroundImage;if(n&&"none"!==n&&n.includes("gradient")){let t=this.getAverageColorFromGradient(n);if(t)return t}let o=this.parseColor(t.backgroundColor);if(o&&null!==o.a&&o.a>0)return{r:o.r,g:o.g,b:o.b};for(let t of["::before","::after"])try{let i=getComputedStyle(e,t);if(!i)continue;let n=i.backgroundImage;if(n&&"none"!==n&&n.includes("gradient")){let t=this.getAverageColorFromGradient(n);if(t)return t}let o=this.parseColor(i.backgroundColor);if(o&&null!==o.a&&o.a>0)return{r:o.r,g:o.g,b:o.b}}catch(t){return null}e=e.parentElement}return window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?{r:0,g:0,b:0}:{r:255,g:255,b:255}}extractColorsFromGradient(t){return t.match(/(#[0-9a-fA-F]{3,8}|rgba?\([^)]+\)|hsla?\([^)]+\))/g)||[]}
1hexToRgb(t){return(3===(t=t.replace("#","")).length&&(t=t.split("").map(t=>t+t).join("")),6!==t.length)?null:{r:parseInt(t.substring(0,2),16),g:parseInt(t.substring(2,4),16),b:parseInt(t.substring(4,6),16)}}parseRGB(t){if(!t)return null;let e=this.parseColor(t);return e?{r:e.r,g:e.g,b:e.b}:null}revertContrastAdjustments(){this.modifiedContrastElements.forEach(t=>{t.dataset.originalColor&&(t.style.color=t.dataset.originalColor,delete t.dataset.originalColor),t.dataset.originalBackgroundColor&&(t.style.backgroundColor=t.dataset.originalBackgroundColor,delete t.dataset.originalBackgroundColor)}),this.modifiedContrastElements.clear()}adjustTextContrast(t,e,i){let n=this.getLuminance(e);this.getLuminance(t);let o=n>.5,r=null,s=0,a=0,l=this.rgbToHsl(t.r,t.g,t.b);for(let t=.01;t<=.99&&!(++a>100);t+=.01){let n=o?t:1-t,a=this.hslToRgb(l.h,l.s,n),c={r:Math.round(a.r),g:Math.round(a.g),b:Math.round(a.b)},d=this.getContrastRatio(c,e);if(d>=i)return`rgb(${c.r}, ${c.g}, ${c.b})`;d>s&&(s=d,r=`rgb(${c.r}, ${c.g}, ${c.b})`)}let c=o?{r:0,g:0,b:0}:{r:255,g:255,b:255};for(let n=.1;n<=1;n+=.1){let o={r:Math.round(t.r+(c.r-t.r)*n),g:Math.round(t.g+(c.g-t.g)*n),b:Math.round(t.b+(c.b-t.b)*n)},a=this.getContrastRatio(o,e);if(a>=i)return`rgb(${o.r}, ${o.g}, ${o.b})`;a>s&&(s=a,r=`rgb(${o.r}, ${o.g}, ${o.b})`)}let d=this.getContrastRatio({r:0,g:0,b:0},e),g=this.getContrastRatio({r:255,g:255,b:255},e);return d>=i&&d>=g?"rgb(0, 0, 0)":g>=i?"rgb(255, 255, 255)":r}getEffectiveBackgroundColor(t){let e=window.getComputedStyle(t);if(e.backgroundImage&&"none"!==e.backgroundImage)return t.parentElement?this.getEffectiveBackgroundColor(t.parentElement):"rgb(255, 255, 255)";let i=e.backgroundColor;return this.isTransparent(i)&&t.parentElement?this.getEffectiveBackgroundColor(t.parentElement):i||"rgb(255, 255, 255)"}isTransparent(t){return!t||(t.startsWith("rgba")?0===parseFloat(t.split(",")[3]):"transparent"===t)}getLuminance(t){let e=["r","g","b"].map(e=>{let i=t[e]/255;return i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4)});return .2126*e[0]+.7152*e[1]+.0722*e[2]}getContrastRatio(t,e){let i=this.getLuminance(t),n=this.getLuminance(e);return(Math.max(i,n)+.05)/(Math.min(i,n)+.05)}rgbToHsl(t,e,i){t/=255,e/=255,i/=255;let n=Math.max(t,e,i),o=Math.min(t,e,i),r,s,a=(n+o)/2;if(n===o)r=s=0;else{let l=n-o;switch(s=a>.5?l/(2-n-o):l/(n+o),n){case t:r=(e-i)/l+6*(e<i);break;case e:r=(i-t)/l+2;break;case i:r=(t-e)/l+4}r/=6}return{h:r,s,l:a}}hslToRgb(t,e,i){let n,o,r;if(0===e)n=o=r=i;else{let s=(t,e,i)=>(i<0&&(i+=1),i>1&&(i-=1),i<1/6)?t+(e-t)*6*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t,a=i<.5?i*(1+e):i+e-i*e,l=2*i-a;n=s(l,a,t+1/3),o=s(l,a,t),r=s(l,a,t-1/3)}return{r:Math.round(255*n),g:Math.round(255*o),b:Math.round(255*r)}}runSpecial(t,e){"noImages"===t&&this.runNoImages(e),"largeCursor"===t&&this.runLargeCursor(e),"tcinnA11y.readingGuide"===t&&this.runReadingGuide(e)}moveCursorOverlay(t){let e=document.getElementById("tcinn-a11y-large-cursor-overlay");e&&(e.style.left=`${t.pageX}px`,e.style.top=`${t.pageY}px`)}runLargeCursor(t){let e="tcinn-a11y-large-cursor-overlay",i=document.getElementById(e);t?i||((i=document.createElement("div")).id=e,document.body.appendChild(i),document.addEventListener("mousemove",this.moveCursorOverlay)):i&&(document.removeEventListener("mousemove",this.moveCursorOverlay),i.remove())}highlightEmptyLinks(){document.querySelectorAll("a").forEach(t=>{if(t.closest("#tcinn-a11y-toolbar")||this.isExcluded(t))return;let e=t.textContent.trim(),i=!!t.getAttribute("aria-label"),n=!!t.querySelector("img, svg");e||i||n||(t.style.boxShadow="0 0 0 3px purple",t.title=`🛑 ${window.TcinnA11ySnippets.emptyLinks}`)})}highlightInputsWithoutLabel(){document.querySelectorAll("input, textarea, select").forEach(t=>{let e=t.id;e&&document.querySelector(`label[for="${e}"]`)||(t.style.boxShadow="0 0 0 3px teal",t.title=`⚠️ ${window.TcinnA11ySnippets.inputsNoLabel}`)})}highlightMissingLangAttr(){let t=document.documentElement;t.hasAttribute("lang")&&""!==t.getAttribute("lang").trim()||(t.style.boxShadow="inset 0 0 0 5px crimson",t.title=`❗ ${window.TcinnA11ySnippets.missingLang}`)}highlightImgsWithoutAlt(){document.querySelectorAll("img").forEach(t=>{t.alt&&""!==t.alt.trim()||(t.style.boxShadow="0 0 0 4px red",t.title=`🛑 ${window.TcinnA11ySnippets.imgsNoAlt}`)})}highlightSmallFonts(){document.querySelectorAll("body *").forEach(t=>{if(t.closest("#tcinn-a11y-toolbar")||this.isExcluded(t))return;let e=parseFloat(getComputedStyle(t).fontSize),i=t.textContent.trim();e&&e<this.minFontPx&&i&&(t.style.boxShadow="0 0 0 3px orange",t.title=`⚠️ ${window.TcinnA11ySnippets.smallFonts} (${e.toFixed(1)}px)`)})}highlightLowContrastText(){document.querySelectorAll("body *").forEach(t=>{if(t.closest("#tcinn-a11y-toolbar")||this.isExcluded(t))return;let e=window.getComputedStyle(t),i=e.backgroundImage,n=this.parseRGB(e.color);if(!n||/url\(/.test(i)||t.querySelector("img"))return;
1let o=this.parseRGB(this.getEffectiveBackgroundColor(t));if(!o)return;let r=this.getContrastRatio(n,o);r<this.threshold&&(t.style.boxShadow="0 0 0 2px blue",t.title=`❗ ${window.TcinnA11ySnippets.lowContrast} (${r.toFixed(2)}:1)`)})}runNoImages(t){document.querySelectorAll("img").forEach(e=>{if(e.closest(".js-magnifier-container")){e.style.visibility=t?"hidden":"";return}if(t){e.style.display="none";let t=document.createElement("div");t.className="tcinn-a11y-no-img-placeholder",t.textContent=e.alt||"",e.__a11yPh=t,e.parentNode.insertBefore(t,e.nextSibling)}else e.style.display="",e.__a11yPh&&(e.__a11yPh.remove(),delete e.__a11yPh)})}applyPlaceholderContrast(){if(this.placeholderStyleElement)return;let t=document.createElement("style");t.id="tcinn-a11y-placeholder-styles";let e=window.getComputedStyle(document.body).backgroundColor,i=this.parseRGB(e)||{r:255,g:255,b:255},n=this.getContrastRatio({r:255,g:255,b:255},i)>=this.threshold?"rgb(255,255,255)":"rgb(0,0,0)";t.textContent=`
2            input::placeholder,
3            textarea::placeholder {
4            color: ${n} !important;
5            opacity: 1 !important;
6            }
7        `,document.head.appendChild(t),this.placeholderStyleElement=t}revertPlaceholderContrast(){this.placeholderStyleElement&&(this.placeholderStyleElement.remove(),this.placeholderStyleElement=null)}hasConsentCookie(){return document.cookie.split("; ").some(t=>t.split("=")[0]===this.consentCookieName)}safeSetItem(t,e){("basic"===this.cookieGroup||this.hasConsentCookie())&&localStorage.setItem(t,e)}safeRemoveItem(t){("basic"===this.cookieGroup||this.hasConsentCookie())&&localStorage.removeItem(t)}initAriaSync(){document.querySelectorAll('#tcinn-a11y-toolbar [role="switch"]').forEach(t=>{t.setAttribute("aria-checked",t.classList.contains("active")),t.addEventListener("click",()=>{t.setAttribute("aria-checked",t.classList.contains("active"))})})}runReadingGuide(t){let e="tcinn-a11y-reading-guide-line",i=document.getElementById(e);t?(i||((i=document.createElement("div")).id=e,Object.assign(i.style,{position:"fixed",left:"0",width:"100vw",height:"2px",background:"var(--bs-focus-ring-color)",pointerEvents:"none",zIndex:"9999"}),document.body.appendChild(i)),document.addEventListener("mousemove",this.moveReadingGuide)):(document.removeEventListener("mousemove",this.moveReadingGuide),i&&i.remove())}moveReadingGuide(t){let e=document.getElementById("tcinn-a11y-reading-guide-line");e&&(e.style.top=`${t.clientY}px`)}initDevTools(){this.highlightImgsWithoutAlt(),this.highlightSmallFonts(),this.highlightLowContrastText(),this.highlightEmptyLinks(),this.highlightInputsWithoutLabel(),this.highlightMissingLangAttr()}resetAll(){this.resetFontSize();let t=document.getElementById("font-toggle-button");t&&t.classList.remove("active"),this.safeRemoveItem("tcinnA11y.fontSize16"),this.revertPlaceholderContrast(),this.revertContrastAdjustments();let e=document.getElementById("contrast-toggle-button");e&&e.classList.remove("active"),this.safeRemoveItem(this.storageKey),this.runNoImages(!1);let i=document.getElementById("no-images-toggle-button");i&&i.classList.remove("active"),this.safeRemoveItem("tcinnA11y.noImagesActive"),this.runReadingGuide(!1);let n=document.getElementById("reading-guide-toggle-button");n&&n.classList.remove("active"),this.safeRemoveItem("tcinnA11y.readingGuide"),this.a11yToggles.forEach(t=>{let{btnId:e,bodyClass:i,storageKey:n,handler:o}=t;if(o)return;document.body.classList.remove(i),this.safeRemoveItem(n);let r=document.getElementById(e);r&&r.classList.remove("active")})}initUniversalAccessibilityObserver(){new MutationObserver(t=>{let e=!1;for(let i of t){for(let t of i.addedNodes)if(1===t.nodeType&&(t.matches?.('.modal, .offcanvas, .dropdown, .plugin, [class*="popup"], [data-modal], [data-plugin]')||t.querySelectorAll?.("*").length>10)){e=!0;break}if(e)break}e&&(this.contrastActive&&this.adjustPageTextContrast(),"true"===localStorage.getItem("tcinnA11y.fontSize16")&&this.setFontSize())}).observe(document.body,{childList:!0,subtree:!0})}getAverageColorFromGradient(t){try{let e=this.extractColorsFromGradient(t);if(0===e.length)return null;let i=[];for(let t of e){let e=null;t.startsWith("#")?e=this.hexToRgb(t):t.startsWith("rgb")&&(e=this.parseColor(t)),e&&i.push(e)}if(0===i.length)return null;let n=Math.round(i.reduce((t,e)=>t+e.r,0)/i.length),o=Math.round(i.reduce((t,e)=>
7t+e.g,0)/i.length),r=Math.round(i.reduce((t,e)=>t+e.b,0)/i.length);return{r:n,g:o,b:r}}catch(t){return console.error("Error processing gradient:",t),null}}parseColor(t){let e=t.match(/rgba?\(\s*(\d{1,3})(?:\s*,\s*|\s+)(\d{1,3})(?:\s*,\s*|\s+)(\d{1,3})(?:\s*(?:\/|,)\s*([\d.]+))?\s*\)/i);if(e)return{r:+e[1],g:+e[2],b:+e[3],a:null==e[4]?1:+e[4]};let i=t.match(/^#([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i);if(i){let t=i[1];(3===t.length||4===t.length)&&(t=t.split("").map(t=>t+t).join(""));let e=parseInt(t.slice(0,2),16);return{r:e,g:parseInt(t.slice(2,4),16),b:parseInt(t.slice(4,6),16),a:8===t.length?parseInt(t.slice(6,8),16)/255:1}}return null}},"#tcinn-a11y-toolbar")})();

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.