github-a11y
This is a browser extension that runs a simple JavaScript snippet on github.com domain and aims to encourage accessibility mindfulness while navigating GitHub. Users interact with GitHub predominantly through the markdown editor. The markdown editor allows users to set headings and share images, both of which require care to ensure accessibility.
Setup
Chrome
- Clone or download this repo.
- Navigate to
chrome://extensions/
. - Flip on "Developer Mode" in the upper right-hand corner.
- Select "Load unpacked".
- Choose this unzipped repo folder.
- Navigate to github.com.
- Optional but recommended: Set custom styles to your preference. Learn more in Customization note.
Firefox
- Clone or download this repo. Make sure to extract any compressed files to the directory structure of this project.
- Navigate to
about:debugging#/runtime/this-firefox
. - Select
Load Temporary Add-on...
. - Choose a file in the repository directory.
- Navigate to github.com.
- Optional but recommended: Set custom styles to your preference. Learn more in Customization note.
Features
This extension will only run on GitHub domain and does the folowing on all markdown bodies on GitHub:
- Creates a text overlay over all images with the alt text. This includes Pull Requests, Issues, Repo READMEs, and Discussions. If an image is missing an alt text, it will appear with a red border. If an image has an empty alt text, the text will show with italicized caption, hidden. This image overlay aims to bring awareness about alt text particularly for sighted users who may not rely on alt text.
- Appends the heading level that is used after the heading text within markdown bodies. Heading levels are useful for conveying semantics for screen reader, and other assistive technology users. This similarly aims to bring mindfulness particularly for sighted users who may pay less attention to heading level semantics.
Customization note
The styling I've set may not be suitable for all users. Feel free to customize these however you like when you download these files.
You can do this by modifying styles.css
. There are CSS variables at the top which you may set to your preference. For example, you may choose to set a different color for each heading level or remove the border. If you'd prefer the headings to be positioned at front, follow the notes in contentScript.js
. Once changes are made, Update
on chrome://extensions/
so changes are reflected in extension.
Resources
Image alt text
Heading levels
Bug?
If you encounter a bug, please file a ticket. Contributions welcome.