Good job, I really like the list!
I have recently played with window.getSelection(); and if you are using it in an .addEventListener('click'=>{}); function and you click on a non-text area, you will always get the first element that is in the horizontal line of the window. That happens because the caret is always at the start of the window and will give you the next element that is in the line since it counts it as selected.
I found that a bit unexpected but it works like that. Keep up the good work!