Estoy trabajando para hacer que algunas tarjetas sean más accesibles. Para hacerlo, necesito usar JavaScript para tomar el enlace del Título de la tarjeta y aplicarlo a todos los elementos dentro de la tarjeta.
Está funcionando relativamente bien.
Sin embargo, el problema es que abre el enlace en una nueva PESTAÑA cada vez que hago clic. No solo cuando presiono CMD (Mac).
Sé que a algunos usuarios (como yo) les encanta esto. Pero está superando el comportamiento predeterminado y me gustaría encontrar una manera de obtener window.open (url) para seguir los comportamientos predeterminados que el usuario está acostumbrado a usar.
He intentado:
window.open(url, "_blank") window.open(url, "_self") window.open(url, "_top")Javascript a continuación:
function cardLinks() { let cards = document.querySelectorAll(".card"); cards.forEach(function (box) { let link = box.querySelector("a"); if (link) { let url = link.getAttribute("href"); box.addEventListener("click", function () { window.open(url) }); } }); } document.addEventListener("DOMContentLoaded", function () { if ("querySelector" in document) { cardLinks(); } });Si ha leído hasta aquí, la razón por la que esto es importante (al menos para mí) es que tener etiquetas de enlace separadas en el elemento de la tarjeta HTML es una pesadilla para los usuarios de accesibilidad. Ya que necesitan tabular a través de múltiples enlaces. Tener un controlador de eventos en todos los elementos secundarios de la tarjeta significa que funciona bien para usuarios de accesibilidad y usuarios visuales.
Espero que alguien pueda ayudar.