GitHub Problem Statement 2
Introduction
People with limited eyesight or those who are surfing without visuals can better grasp the content of the image you're using if you provide other explanations. Although GitHub utilises the file name you upload as the alt element, it does not provide a person who cannot view the picture enough context.
Purpose and Motivation
I chose this problem statement because I believe in the power of accessibility and hope my small project can make other projects more accessible automatically.
How does the solution work?
I created a GitHub Action that checks if all images in a markdown file have an alt text. If an image does not have an alt text, the action uses the microsoft/git-base-coco model from HuggingFace to generate alt text. The end user can also create and use their Azure Computer Vision resource for alt text generation by providing their key and endpoint as repository secrets. They can also specify a language for alt text generation for this action in their workflow file when using the Azure Computer Vision Resource. The alt text from both these ways will be inserted into the markdown file and a new commit on the user repo is created showing this change.
How was the solution developed?
I built this project in Python by using Python libraries like transformers and azure-cognitiveservices-vision-computervision.
How to use the application?
Anyone can add the action to their repo by declaring it in their workflow file as a step. If they want to use the Azure Computer Vision resource for alt text generation, they would have to provide the key and endpoint as repository secrets and language can be declared in their workflow file.
Challenges I ran into
One of the main challenges I faced was figuring out how GitHub actions worked and how I can modify files in another repository using this action.
Go-to-Market
My GitHub Action has been published to the GitHub Marketplace and hence can be used by anyone on any repository having markdown files.
What I learned
Through this project, I learned how to create and publish a GitHub Action. I also learned how to use models from the HuggingFace transformers library and Azure Computer Vision Python library. I learned more about how something as simple as adding alt text to images makes a large and significant impact on those who use screen readers.
What's Next for Markdown Accessibility Helper
In the future, I hope to expand the functionality of this GitHub Action to add support for other image formats like SVG and other languages for alt text generation. I am trying to make the action use markdownlint to check and fix other linting issues in markdown files. I am also looking to incorporate feedback and suggestions from users to make the GitHub Action even more useful and accessible.
Log in or sign up for Devpost to join the conversation.