Myles:
Thank you for the additional information.
The Wolfram Language and Mathematica have several features that I think would make Mathematica more accessible to eye tracking software.
One place to start might be to have some custom palettes created. Palettes are on-screen windows that a user can enter things or trigger actions with a mouse. Unfortunately, the standard palettes that Mathematica ship with our too small for my aging eyes. (I have to keep buying bigger monitors every couple of years.). Fortunately, it is fairly easy to create any size custom palettes that I think can make the full power of Mathematica much more accessible. Check out How to Use Palettes.
If I am correct, custom palettes could bring the full power of Mathematica to your son. But, I must tell you, for many of us, the full power of Mathematica can feel like trying to drink from a fire hose at times.
So, while I suggest you also look into some of the other technologies and content that Wolfram has to offer students. For example Wolfram Alpha Pro for Students. Though, there are others as well. Though, I think Wolfram Alpha will require your son to still do some typing. It has a natural language interface, so you are not having to type so many symbols that can be difficult with on screen keyboards. Though, I think you indicated that on screen keyboards might not meed your needs.
Unfortunately, I do not have access to any eye tracking hardware to build you a custom palette to see if that could get you started that way. Though I wouldn't mind trying to build you one to see if it could work. The challenge though is that palettes do not work on the web. You would have to have a desktop copy of Mathematica.
Which version of Mathematica do you have? Or are considering? After looking at How to Use Palettes, do you think more reasonably sized buttons on a palette work work for your son?
What do others in the community think?