On social media, images are often shared as image files. So, the alt text in their HTML containers do not get passed along. We wanted to create a way to transmit descriptions within image files themselves, so people using screen readers can enjoy as many memes as others.

What it does

The program takes an image, takes a description of the image, and embeds the description in the image file. It does this by making the description into its binary representation and appending it to the end of the image's RGB matrix.

How we built it

We used Python to code it. Numpy is used to manipulate the image matrices. An Anaconda Jupyter Notebook was used for easy visualization during development.

Challenges we ran into

Initially, we wanted to fully integrate this Python program into an existing open source screen reader. We were not able to integrate our code into the existing screen reader. So, we tried to instead create a Chrome extension that could run our program. That also did not work, since Javascript and Python proved difficult to reconcile, especially in regards to asynchronous functionality.

Accomplishments that we're proud of

Successfully embedded messages in images and retrieved them. The embedded messages do not optically alter the original image at all.

What we learned

Numpy is really powerful for image manipulation. It is a lot harder to integrate Python and Javascript than we thought.

What's next for Accessible Memes

Integrate the program into an existing open source screen reader, or complete a web browser extension (that runs the program on a Python server).

Built With

Share this project: