iv id="raz" tabindex="0" // подсказка пропадает, если на неё фокус


 let raz = document.querySelector('#raz');
 let dva = document.querySelector('#dva');
    raz.addEventListener('focus', function(e) {
        dva.style.visibility = "visible";
    })
    raz.addEventListener('pointerenter', function(e) {
        e.target.focus();
    })
    raz.addEventListener('blur', function(e) {
        dva.style.visibility = "";
    })
    raz.addEventListener('mouseleave', function(e) {
        e.target.blur();
    })
iv id="raz" tabindex="0"
div id="dva" tabindex="0"


let raz = document.querySelector('#raz');
let dva = document.querySelector('#dva');
raz.addEventListener('focus', function(e) {
  dva.style.visibility = "visible";
})
raz.addEventListener('pointerenter', function(e) {
  e.target.focus();
})
raz.addEventListener('blur', function(e) {
  let related = e.relatedTarget ? event.relatedTarget.id : "null";
  if (related != "dva") dva.style.visibility = "";
})
dva.addEventListener('blur', function(e) {
  let related = e.relatedTarget ? event.relatedTarget.id : "null";
  if (related != "raz") dva.style.visibility = "";
})
raz.addEventListener('mouseleave', function(e) {
  if (!window.hasOwnProperty('ontouchstart')) e.target.blur(); // проверка на tach
})