Accessible Chart Publisher with Sonification for Blind and Low-Vision Students
A web tool that turns a spreadsheet or chart specification into an accessible chart page for blind and low-vision students and staff, with keyboard tree navigation, screen reader descriptions, sonified data and a clean data table. An accessibility and HCI final year project built on published research and tested with real screen reader users.
Intermediate
A small team, or one strong student willing to learn something new.2 semesters · 2 to 3 students
7 to ship
3 optional extrasSuggested stack
What you should ship
- An authoring page where a teacher uploads a CSV or pastes a Vega-Lite spec, picks a chart type (bar, line, scatter, grouped bar) and publishes a shareable accessible chart page.
- A keyboard-navigable tree view of each chart (chart, axes, groups, data points) following the WAI-ARIA tree pattern, tested with NVDA and at least one other screen reader.
- Sonification: pitch mapped to value, playable for a whole series or point by point with arrow keys, with speed and pitch range controls.
- Auto-generated text summaries at three levels (overview, trend, point detail) produced from the data with templates, in English and Urdu.
- A sortable, accessible data table view and a CSV download for every chart.
- An embeddable component so the same chart can be placed in a course site or LMS page.
- A user study with at least six blind or low-vision participants comparing your chart page with a plain image plus alt text on the same questions.
If you have time left
- Import charts from an Excel file so teachers do not need to rebuild them.
- Export a tactile graphics file ready for a swell-paper or embosser workflow.
- Multi-series sonification with stereo panning so two lines can be compared by ear.
The problem blind and low-vision students have with charts
Statistics, economics, science and computer science courses are full of charts: lecture slides, assignment sheets, lab results and dashboards. For a blind or low-vision student they usually arrive as an image with no description, or with alt text like "bar chart of results". A screen reader user cannot ask which bar is highest, what the value was in March, or whether the trend is rising. Teachers who want to help rarely know how, and making a tactile print for every chart is slow and expensive. The same problem hits blind professionals reading reports at work.
Research has produced good answers to this, but they mostly live in papers and code libraries that a teacher cannot use.
What already exists and the gap
- Olli from the MIT Visualization Group is an open source JavaScript library that turns existing charts into keyboard-navigable tree views with text descriptions for screen readers.
- MAIDR, presented at CHI 2024, combines braille, text, sonification and review modes for statistical charts.
- Chart2Music is an open source library that adds sonification and keyboard navigation to charts.
- Highcharts ships an accessibility module with keyboard navigation and sonification for customers of its commercial charting library.
The gap is an authoring tool for non-developers: a teacher with a spreadsheet should be able to publish an accessible chart in a few minutes, in English or Urdu, without writing code. The project also contributes a small, honest user study in a context these papers have not covered.
What you build
Two sides of one web app.
- Author side (teacher, TA, report writer): upload a CSV or paste a Vega-Lite spec, choose a chart type, label axes and units, check the generated summaries and edit them, then publish. The tool warns when information is missing that a blind reader needs, such as units or axis titles.
- Reader side (student): the published page renders the visual chart for sighted readers and, alongside it, a tree view. Arrow keys move from the chart to an axis, to a group, to a point; each step announces a short description. A key plays the series as sound, rising pitch for higher values. Summaries are available at overview, trend and point level. A data table and CSV download are always one key away.
- Embed: a script tag or iframe so the chart works inside a course website or LMS.
The technically interesting part
The hard part is designing an interaction that works with real screen readers, not just in theory. ARIA tree views behave differently across NVDA, JAWS, VoiceOver and TalkBack; focus handling, live region announcements and keyboard shortcuts clash with screen reader commands in ways you only find by testing. You must build an announcement model that is short enough to be fast and rich enough to be useful, and let users control verbosity.
The second challenge is generating correct summaries from data: detecting trends, extremes and outliers with simple statistics and turning them into clear sentences through templates, in two languages with right-to-left layout for Urdu. No language model is needed, and templates are easier to verify.
Show your evaluators the research loop: what the published tools do, what your participants struggled with in the first version, and what you changed.
How to evaluate it
- Task accuracy and time: six or more blind or low-vision participants answer the same set of questions (maximum, comparison, trend, specific value) on your page and on an image with alt text; report correct answers and time per task.
- Perceived workload: a short NASA-TLX style questionnaire after each condition.
- Screen reader compatibility: a matrix of which features work in NVDA, JAWS or VoiceOver, and TalkBack, with issues logged.
- Automated checks: zero axe-core violations on published pages, plus a manual WCAG 2.2 review.
- Author usability: five teachers publish a chart from their own data; record time and where they got stuck.
Suggested plan
- Weeks 1 to 4: read the Olli and MAIDR papers, contact a school or university disability office, and prepare consent and ethics approval.
- Weeks 5 to 9: Vega-Lite rendering, the data model and the keyboard tree view.
- Weeks 10 to 13: sonification, summaries in English, first pilot with two participants.
- Semester 2, weeks 1 to 4: fixes from the pilot, Urdu summaries and right-to-left layout.
- Weeks 5 to 8: authoring side, embed component, automated tests.
- Weeks 9 to 14: main user study, analysis and report.
Path to a product
Universities and schools with students who need accessible materials are the first customers, often through a disability or inclusion office with a budget for accessibility. Offer a free tier for individual teachers and a per-institution yearly licence with LMS integration and support. Publishers of educational content and organisations that publish public data dashboards are a second market. Keep the reader component open source so it spreads and builds trust.
Scope warning
Do not build a general charting library or a business intelligence tool. Do not support every chart type; four done well is enough for a study. Do not use a language model to write descriptions for the main study, because you cannot guarantee the numbers are right. Do not test only with sighted people using a screen reader; that is a warm-up, not the study.
Learn what you need on Sefism
- Frontend roadmap : the reader and author sides are demanding front-end work.
- Frontend cheat sheet : keyboard handling, ARIA and component patterns.
- How to Meet WCAG 2.2 (Quick Reference) : the success criteria you will audit against.
- axe-core : automated accessibility checks for every published chart.
- Nielsen Norman Group Articles : planning and running task-based usability studies.
Get help with this idea
Accessibility research projects stand or fall on who you test with, so plan participant recruitment and consent with your supervisor early. If you want a second opinion on scope, stack or how to evaluate it before you pitch it to your supervisor, bring your draft proposal and we will pressure-test it together. You build it; the guidance is on the decisions.
New here? Create a free account first.
Ideas and guidance, not finished projects
These are project ideas and scoping guidance, published free for students to use as a starting point. I do not build, write, or sell final-year projects, and I do not complete coursework for anyone. Take an idea, make it yours, and build it.
Not sure this one fits you?
I help students pick an idea that matches their skills and their deadline, then scope it down until it is finishable. Guidance only, never done for you.
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.
Follow along
New writing, resources and project ideas land here first.