Accessibility Project Update

November 16, 2010

Okay, one month in, and I still feel like I haven’t done enough. I keep hitting the silliest road blocks.

At first, I started working on some front end things and integrating into the chrome browser. Admittedly, I don’t feel like I did enough for a first milestone. I had basic front end functionality and basically no back end functionality.

Milestone 2: ‘Coming Along’

I decided to focus on server side processing and have the client interact with the ‘master server list’ of videos that are problematic. This meant that I could write a server side application that just scrapes YouTube for content and processes each video. Initially, I thought this would be OK. I knew the Python Imaging library existed and so I thought I’d try my hand at it. That was a failing attempt. Not only did I not remember much Python, I couldn’t even get a development environment set up (I’m terrible at that sort of thing). Next, I thought I could do it in Java, since I’m more familiar with Java. Again, I couldn’t get my environment set up. (yes, I’m a failure). The Java media Framework did NOT want to cooperate with me. In the end I turned to Matlab. Trusty, reliable, bloated Matlab. This was because it’s just easier. No environment to set up, it has all the packages I need already so I didn’t have to go out and download/install other libraries. Simple! Also, given that I’d already done this type of thing in Matlab, I had the basic code written up in 15 minutes. *sigh* <– One whole weekend of work….

My Matlab program appears to come up with the same results as the PEAT application, but does not display them as nicely. I look at the average value of each frame and compare it to previous frames. If there is a difference of moret han 100 between a set of frames, then set a warning because this indicates a large change in the sequence of frames. Granted, this is not the most scientific way to detect flashes in a video, but it’s start. To save time, we can stop processing the rest of the video once a warning sign has been detected.

Next I had to set up a local server. I decided to just use my localhost. Googled how to do it, and found IIS simple enough for my purposes. Now my client can connect and read data off my localhost. *good enough*

My new problem is trying to get a modal dialog box to appear in the YouTube window that covers the video and warns the viewer of the video. I can get a regular dialog box, but not the flashy in window frame. I might just stick to this for now.

Next Steps:

Trying to get the server to automatically scrape YouTube for videos to process OR accept requests from the client. Accepting requests however, means that I can somehow automate the process of grabbing videos off YouTube, process it, and return the result back to the user in a timely manner. (not likely to happen anytime soon)

I need to make the client side more usable. Still lots of “features” that need to be attended to. I also need to test on a real server, but I need help setting one up properly and not just hacking together a default localhost.


Accessibility Project Proposal

October 12, 2010

Many videos and web sites contain a lot of flashing images. This can be a problem for people with epilepsy. There is currently a free Photosensitive Epilepsy Analysis Tool (PEAT) tool that can gauge whether a web site or video is capable of inducing photosensitive epileptic seizures. The tool is for web developers to ensure that they are aware if their sites can induce a seizure. This program works well for web developers aware of the issues.

PEAT is designed as a free, downloadable resource for web developers to identify seizure risks in their web content and software. It is NOT designed to analyze commercial videos or games, to remove epilepsy risks, or for day-to-day web site screening by a person with photosensitive epilepsy. It also cannot make unsafe videos safe (but others can use it to figure out how to make small changes in their content to make it safe). – PEAT User Guide

Thus, my proposal is a tool that would be able to integrate it into browsers for day-to-day web site screening by a person with photosensitive epilepsy.

I wish to start with a Google Chrome extension that detects if a Youtube video is capable of inducing a photosensitive seizure. It is often difficult to determine the contents of a Youtube before it starts. Before it plays, there should be a warning if there is a possibility of inducing seizures. If the user is on Youtube, it will take the video before playing, analyze the frames and determine if there are high contrast flashes that occur in the video. If there are, a warning box will appear in the window before playing the video to see if the user wants to continue or not.

To extend this to websites in general, the PEAT tool takes a video of the site contents while it’s loading and running. This video is then analyzed and can then be used to see the implications of certain Flash applications or animations. I would try something similar to this and provide a warning before the website renders and/or offer a warning in the browser URL bar.

Frame-by-frame Processing:

The image intensity can be calculated for each frame and compared to the previous and next frames to determine whether there is a large change in intensity. The basic calculations are easy, but optimizing for speed is something I need to look into.


Google Chrome Accessibility Options

October 5, 2010

This post is looking at the accessibility options given to users of Google Chrome. There are several extensions in development and some are better than others in terms of ease of use. However, I feel as though evaluating these tools as a person with no limiting disabilities does not give the tools justice, so I also took into consideration some of the comments left on these tools by other users.

The reason I am focusing on these extensions is because I plan to write my own Chrome extension that will hopefully improve on what already exists.


Scales the webpage to the size of the browser. It can scale it down to a minimum size, and the maximum appears to be the size of one’s monitor. It removes the whitespace in web browsers usually placed on the sides of a website.

The advantage of this is that it’s an easy way to enlarge websites. However, this does not allow further enlargement than the width of the monitor. This also doesn’t make the page any cleaner and keeps the same layout. So even though there is a kind of zoom, it’s very limited. And if the window is shrunken, the site shrinks as well. How often does someone want to make things smaller on their screen? Answer: not very.

Smooth Gestures

Allows users to create gestures for smoother browsing using only their mouse. This reduces the number of buttons that users need to click, which can be useful for users that have difficulty clicking on small buttons frequently such as forward and back. It also gives an alternative to keyboard shortcuts. In Google Chrome, there are many keyboard shortcuts for opening and closing tabs and links that many users are unaware of. Using smooth gestures, not only allows users the ability to learn that these actions exist, but also perform them without needing the keyboard shortcut. A simple mouse gesture can accomplish any of these tasks.

The good thing with this extension is that is allows users that have difficulty clicking small buttons the ability to ignore navigational buttons of the browser. However, when actually navigating sites, this does not help people with certain motor skills. It will be difficult to make gestures if the user has motor disabilities and cannot use a mouse properly.


Changes the style of websites to be simple. Users have the option to set the background and text colour as well as the link colours. It removes all background colours and formatting and only keeps the page layout intact. Since this extension strips all page styling, it can sometimes be difficult to differentiate different parts of the web page. For example, if this is used on Gmail, the style is removed, but all the emails, contacts, and links are all in the same place. The only difference is that it is difficult to differentiate between sections. The background colour often shows where the navigational links are and where the content is.

For visually impaired users, this extension makes things easier to read since it is of higher contrast than most web sites. However, this makes it difficult to differentiate between sections of the web page. It can be difficult to read emails and navigate through web sites. Even i found it difficult to navigate through my emails with this application. One good thing about this application is that you can opt-out of using this extension for designated sites. This allows regular browsing for certain sites that have been flagged as ok.

ChromeVis – allows users to magnify passages of text and displays it at the top of the window in a high contrast text and background. You can also select text with a mouse or keyboard. You can also navigate pages and toggle the visualization on and off with the keyboard. This allows users with visual impairments to read passages of text more easily. It will appear at the top of the screen and in high contrasting colours.

The difficulty with this is navigating through the page. Users have to learn specific commands to move forward and back through sentences or use their mouse to highlight a passage they would like to read. If, users can read the passage to know that they want to read a certain passage, do they still need this tool? If they rely solely on the keyboard navigation of the tool, it can sometimes be difficult to find the right passages to be reading.

Keyboard Navigation

Lets users navigate the web using only their keyboard. Activating the extension with a simple press of a comma, this application gives an identifier to each link on the page. This goes for clickable images and links. The idea is so users can completely surf the internet with only their keyboard and nothing else.

This is good for people who find it easier to use a keyboard over a mouse, but some of those users may find it difficult to use a keyboard even. People with cognitive disabilities might also find it difficult to remember all the commands and complicated key combinations for navigating where it might be easier to simple enlarge and convert the entire site to high contrast visuals.


Renders web pages easier to read by extracting only text from the website. Settings are customizable and easy to escape from. It is an automatic rendering that users can opt out of. This allows them to select certain sites that are okay for viewing regularly. The tool is customizable through the options display but also as each page renders. A toolbar appears at the top and bottom of each page along with an escape button. This button is rather small so clicking on it might be difficult, but having the options on display at each page is useful. It lets users instantly change the size of text, colour scheme and page width. Since this tool extracts text, users don’t have to worry about navigation and can focus on reading the text at hand. If navigation is necessary, users can exit the TidyRead mode, and go to the regular site to navigate.

This is easy to use for visually impaired users. Set up is the simplest of all the tools I have looked at. The pages get rearranged into the style specified by the user and make it easy to read in a single column. This only solves one problem for users though. Since navigation is stripped away, users have to exit TidyRead mode to navigate. This can be difficult if the navigation if the original site has a terrible navigation bar.