document.addEventListener("DOMContentLoaded", function () { let links = document.getElementsByTagName("a"); // Performance-optimiert if (!links || links.length === 0) return; // Falls keine Links existieren, beenden Array.from(links).forEach(link => { // Prüfe, ob bereits ein aria-label existiert if (!link.hasAttribute("aria-label")) { let label = ""; // Falls ein title-Attribut vorhanden ist, verwende es als aria-label if (link.hasAttribute("title") && link.getAttribute("title").trim() !== "") { label = link.getAttribute("title").trim(); } // Falls der Link einen lesbaren Text hat, nutze ihn else if (link.textContent.trim() !== "") { label = link.textContent.trim(); } // Falls nichts lesbares vorhanden ist, nutze die URL als Notlösung else if (link.hasAttribute("href")) { let hrefValue = link.getAttribute("href") || ""; // Falls null, setze leeren String hrefValue = hrefValue.replace(/[^\w\s:/.-]/g, ''); // Entfernt unsichere Zeichen label = "Link zu " + hrefValue; } // Setze das aria-label, falls eine sinnvolle Bezeichnung gefunden wurde if (label !== "") { link.setAttribute("aria-label", label); } } }); });