Markup-Driven Pronunciation Project explores a proof of concept for improving how assistive technology speaks complex educational and assessment content. The project focuses on enabling NVDA to detect author-supplied pronunciation metadata using the 1EdTech data-ssml specification and pass that information to an SSML-capable speech synthesizer.
The goal is to improve pronunciation for names, acronyms, numbers, scientific terms, and other domain-specific language in a standards-based, interoperable way—without changing visible text or harming braille presentation.
AT systems do not always pronounce complex or ambiguous content correctly. In educational and assessment settings, these pronunciation failures can increase cognitive load, reduce comprehension, and create accessibility barriers.
This project is intended to address that gap by exploring how open standards and open-source assistive technology can work together to support more accurate and intelligible spoken output.
This repository is focused on a proof of concept in which NVDA can:
- detect author-supplied
data-ssmlmetadata; - parse supported values from the 1EdTech specification;
- map those values to NVDA speech behavior; and
- pass the result to an SSML-capable speech synthesizer.
The project is designed to improve spoken output while preserving visible text and braille presentation.
Current work is focused on:
- NVDA 2025.x or later;
- Chrome-based delivery environments; and
- SSML-capable synthesizers such as SAPI5 and Windows OneCore.
This repository is a hackathon-oriented proof of concept, not a complete platform-wide solution.
PROJECT.md— full technical plandocs/project-scope.md— in-scope and out-of-scope boundariesdocs/open-questions.md— unresolved technical and design questionsdocs/related-work.md— related repositories and backgroundexamples/— sample HTML and QTI contenttest-data/— short phrases and expected behavior for testingprototype/oraddon/— implementation work as it evolves
Contributors can help in several areas, including:
- documentation and editing;
- examples and sample content;
- test data and expected behavior definitions;
- issue triage and research questions; and
- prototype implementation work related to
sub,break,prosody,say-as, andphoneme.
- Read
PROJECT.mdfor the technical overview. - Review the 1EdTech
data-ssmlspecification. - Look through
docs/open-questions.mdand repository issues. - Start with documentation, examples, research questions, or clearly scoped starter tasks.
This project is guided by a few core principles:
- author-supplied pronunciation intent should be preserved where possible;
- improvements to spoken output should not require changes to visible text;
- braille behavior should not be harmed;
- standards-based and interoperable approaches are preferred.
The technical plan currently explores a baseline Chrome extension bridge together with an NVDA add-on, while also investigating longer-term approaches for more direct access to data-ssml metadata.
For technical details, implementation notes, and open architecture questions, see PROJECT.md.
This repository is the working hackathon project repo for Markup-Driven Pronunciation. It brings together the project overview, technical plan, contributor guidance, and open questions in one place, while docs/related-work.md lists other repos as experiments and background.
- 1EdTech: Support for Speech Synthesis Markup Language (SSML) Using the
data-ssmlProperty — https://www.1edtech.org/standards/data-ssml - W3C Spoken Presentation Task Force — https://www.w3.org/WAI/about/groups/task-forces/spoken-presentation/
- NVDA Developer Guide — https://www.nvaccess.org/documentation/developerGuide.html