We saw a web article about the danger of web browsing for epileptic people and decided to make an extension to combat it. While in the process, we identified many other accessibility issues with web browsing and decided to tackle them as well.
What it does
WACS is a large suite of tools that each offer different solutions to various web accessibility issues. These include the following:
- Gif-Stop - This module reduces the risk of web browsing for users with epilepsy by interrupting potentially dangerous animations. It pauses gifv files so that the user can view it when they are ready. This can help aid epilepsy as well as ADD/ADHD
- Color Blindness Adjustments - Helps users with deuteranopia by raising the contrast of red colors, making it easier to distinguish between colors.
- Caption Writer - Runs images on a page through a Vision API to determine the contents of the image, and then captions the image using that explanation by adding alt-text. Can be used by screen readers to help blind users browse even when web developers don't add their own alt-text.
- Sensitivity Filter - Takes in an input from a user and blurs out or removes content related to that input, targeting users with PTSD to create a safer browsing experience.
Each feature can be individually enabled or disabled on a stylishly designed options page.
How I built it
Challenges I ran into
- Importing external libraries is very hard with chrome extensions, so we had to code our own solutions to many of the problems we were presented with. This was especially the case with our color blindness module, which parses images pixel by pixel to up the contrast of reds.
Accomplishments that I'm proud of
Building our first chrome extension, targeting real problems and creating equally real solutions.
What I learned
How to develop for Chrome, how to work with image processing API's, how to design clean user interfaces that also store user input.
What's next for WACS - Web Accessibility and Convenience Suite
Most of our modules are prototypes. They don't always work in every scenario and aren't necessarily reliable. If we were to look for a full release, we would want to clean up a lot of corner cases and add some stronger levels of functionality.