Early last year, the Firefox accessibility team began work on a major project to re-design the browser’s accessibility engine. The accessibility engine is responsible for providing assistive technologies like screen readers with the information they need to properly and efficiently announce web page content.
Firefox’s accessibility engine dates back many, many years, having received a hurried but less than ideal update with Firefox’s move to a multi-process architecture about 5 years ago. The current Firefox multi-process accessibility architecture suffers from considerable, sometimes catastrophic performance issues and it is more costly and difficult to maintain than we’d like. These deficiencies prompted the team to design and build a newer, faster and more maintainable accessibility engine and the team has dubbed that project “Cache the World“. It’s called that because the new engine automatically sends information from web content processes to a cache in the browser’s main process for consumption by assistive technologies.
This week, the Cache the World project has reached sufficient completeness in the Firefox Nightly build for the Windows operating system that we are ready for some of you to try it out and let us know how it’s working.
If you’re a Windows screen reader user, and you’re brave enough to test Firefox Nightly builds, you can enable the new accessibility engine by going to Firefox Settings, entering accessibility cache into the search box, tabbing to the Accessibility cache check box and turning it on. Firefox will then prompt you to restart. After Firefox restarts, your screen reader will be relying on the new code, which should be considerably faster but may still have correctness and stability bugs.
If you experience Firefox crashes with the new accessibility engine enabled, please submit those crash reports so we can fix them. If you encounter other capability failures that you do not experience with the old accessibility engine, we’d love to get a Bugzilla bug report or even a note on our chat. One known current problem is that live regions do not work correctly with JAWS. We are working to diagnose this and hope to fix it as soon as we can.
There’s still more work to do – fixing bugs, optimizing performance and bringing platforms other than Windows up to speed – but we’re far enough along that we could really use your help completing the project, especially in identifying unknown failures that will certainly happen out there in the wild West of the web.
There will be more updates here as we make further progress.