On Windows, what we often call the self-voicing approach is made more practical by the fact that the major third-party screen readers offer APIs for sending text strings to the screen reader to be spoken and/or shown on a Braille display, so applications that take this approach don't have to use their own text-to-speech engine. None of the platform-provided screen readers offer something like this though, even on Windows.