It seems like there are some major accessibility issues that are a result of embedding text/inputs/etc. within threejs itself. Have you considered using an HTML element and dynamically positioning it with CSS transforms (i.e. update style per useFrame call)? It's a little more work, but it should solve a large class of accessibility issues, and is performant to boot.