При попытке сопоставить все текстовые элементы, видимые пользователю, используя js, я делаю что-то подобное: Проверяю, отображается ли элемент в DOM
Проблема в что иногда elementFromPoint возвращает родительский элемент или брата, который распространяется в той же области, а не сам текстовый элемент, когда ему задана правильная позиция.
Пример иерархии элементов, в которой произошел сбой для распознавания -
<label>
<input ... />
<span>
<span> **Interesting text** </span>
<span> ... </span>
</span>
</label>
Возвращаемый элемент из elementFromPoint является вводом, из-за чего кажется, что текст не виден, хотя он и есть.
Есть идеи?