Diagrams for Blind People

Project Proposal by Martin Stacey


Diagrams for Blind People

Software

XHTML, maybe XML, plus any serious programming language

Covers

System design and programming, diagrammatic reasoning, web page design

Skills Required

Systems analysis and design, programming, preferably some interest in the needs of disabled students

Challenge

Conceptual ?? Technical ??? Programming ???

Brief Description

Especially in computer science, a lot of information is communicated through diagrams. Software engineers are trained to read and write class diagrams, use case diagrams, entity-relationship diagrams, data flow diagrams, state charts, etc, etc. CASE tools such as Rational Rose and QSEE enable systems analysts and software developers to draw diagrams quickly and neatly, that conform to a wide range of diagrammatic formalisms.

But these diagrams are inaccessible to blind people, including those who are taking courses in computer science or working in the software industry. How can blind people read diagrams and work with the information they hold? The aim of this project is to develop software tools that convert the diagrams produced by CASE tools into textual forms (as web pages written in XHTML) that can be read by sighted computer users and by the text-to-voice software used by blind people. This would involve obtaining the file formats used for storing diagrams produced by a particular case tool or drawing package; developing procedures for extracting different kinds of information from them; devising structured textual descriptions that are suitable for both sighted and blind users, and developing procedures for creating textual descriptions from the information extracted from the files holding the original diagrams.

Variants/Extensions

It would be useful to provide blind users who use the diagram to linear text conversion system with a way to write their own diagrams in textual form, and have these converted to diagrams. These textual descriptions won't include spatial layout information, so a program for doing this would need some way to decide on the locations of elements; a simple procedure for picking locations wouldn't be too hard to implement, but might not produce good results - for very ambitious students, developing a more sophisticated approach as an additional challenge might be a significant part of the project.


Back to