4 ms·
In the early days of Google Chrome, I was tasked with making it work with Windows screen readers. Now, accessibility APIs on Windows were documented, but web br
by dmazzoni 3y ago
In the early days of Google Chrome, I was tasked with making it work with Windows screen readers. Now, accessibility APIs on Windows were documented, but web browsers used a bunch of additional APIs that were poorly documented. Chrome's design was radically different than Firefox's and IE's, so it was a challenge to implement the APIs correctly. At first I was just trying to get it to work with completely static web pages.
Screen readers were reading form controls, but no matter what I did they weren't activating any of their web-specific features in Chrome. I spent weeks carefully comparing every single API between Firefox and Chrome, making the tiniest changes until they produced identical results - but still no luck.
Finally, out of ideas, I thought to build Chrome but rename the executable to firefox.exe before running it. Surely, I thought, they hadn't hard-coded the executable names of browsers.
But of course they had. Suddenly all of these features started working.
Now that I knew what to ask for, I reached out and made contact with the screen reader vendor and asked them to treat Chrome as a web browser. I learned another important lesson, that I probably shouldn't have waited so long to reach out and ask for help. It ended up being a long journey to make Chrome work well with screen readers, but I'm happy with the end result.
- throwaway914 3y agoThat is a good story :) It makes me wonder what future Wayland protocol may enable clients/apps to advertise themselves as screen-reader capable.
- lemper 3y ago[flagged]
- jwoq9118 3y agoLove the lesson here. Don’t wait to reach out for help!
- johnnyo 3y agoI had a similar problem with Nvidia drivers. My boss purchased some laptop with 3D glasses and drivers and wanted me to get our custom software working on it for a cool demo. I read the docs, implemented the right calls, but no matter what I did, I never could get the stereo to kick in. Finally, I renamed our app to doom.exe based on an obscure forum post somewhere, and it immediately worked. I think the driver had whitelist of games it worked with, and only enabled for them.
- Rediscover 3y agoLynx is my most-used/favorite browser. I get variations daily of "your browser is unsupported" messages that almost always go away, without website degradation^1, once I have lynx self-report as "Mozilla" - argh, white-listing. ^1 Excepting javascript, of course.