This is actually an accessibility problem and as such it should just work by default (no extensions or anything). The difficulty is spending time to figure out the best way to do this as well as trying&developing the various solutions. I do hope it gets solved soon (GNOME 3.8 or 3.10).