Google Chrome Extensions and Accessibility

Uploaded by GoogleDevelopers on 24.06.2010

Hi I’m Rachel and I am a software engineer on the Google Accessibility Engineering team.
In this video I want to talk to you about how you can develop extensions for Chrome
that can be useful for users with disabilities.
For users with disabilities such as blindness, low vision, deafness, or limited dexterity,
the web can be difficult or even impossible to navigate. From interfaces that don’t
allow keyboard navigation to text that is too small to read, users with special needs
can find a lot of obstacles in front of them and their favorite content. Chrome browser
extensions can help by enabling users to customize many aspects of the browser and the web.
One extension that I’ve been working on for a while is called ChromeVis.  It’s
an extension that gives you the ability to magnify any selected text on a webpage.
ChromeVis displays the magnified text inside of a floating lens, so the original page layout
is preserved.
This extension is intended for users with low vision, and I have included some key features
that are important to this user group.
First, the extension is completely keyboard navigable.
You can move the selection around the page without ever touching the mouse. You can use
keyboard shortcuts to specify whether you want to move the selection by paragraph, sentence,
word, or even character.
Second, both the lens text color and the lens background color can be changed.
This is also done through keyboard shortcuts. This way, you can adjust the lens to achieve
your desired contrast between foreground and background. And you can save several different
combinations of foreground and background color.
Finally, we included two layout options for the lens display.
You can keep the lens anchored at the top of the window while scrolling the page underneath
it. Or, you can make the lens appear directly above the selected text, enabling you to see
the magnified text in its original context.
The ChromeVis options page is an important part of the extension. Here, you can change
the lens colors as well as specify your own keyboard shortcuts.
This is especially important for users who might be using screen reading software that
reserves its own keyboard shortcuts, or when a user is using a web application like GMail
that reserves additional shortcuts.
Any developer can integrate features like those found in ChromeVis into their extension
because we’re releasing the code as open source. There are a few features that I think
could be particularly interesting:
To move a selection around a web page automatically, I relied upon the WebKit selection API. I
call selection.modify whenever I want to move a selection forward or backward in the page,
and wrapped this call into the functions nextElement and prevElement.
I also did some additional work to clean up the selections that selection.modify produces
to ensure logical movement between
blocks and so that blank text nodes or spacer nodes
are not included in a selection.
It was actually a non-trivial problem to determine the position of selected text, because text
nodes do not have position attributes. I ended up calculating the position by inserting a
span at the beginning of the selection range, determining the position of that span, and
then deleting the span.
If you think these functions would be useful, please feel free to include our selection
JavaScript libraries inside your own extension.
Including keyboard navigation, text size options, and color options are some simple ways to
make your extensions more accessible to users and give the browser more flexibility in how
content is displayed. If you want more specific information on writing accessible extensions,
please see the new Accessibility implementation guide in the Chrome Extensions Developer’s
Guide at