Draft 1: Structure to Braille Conversion (Vladimir Bulatov, author)
Expert handler should be able to provide braille data for braille display output by generic Assisstive Technology (AT). Custom braille output is needed, because generic AT has no knowledge about how specific data can be represented via braille. An example is MathML; there are many different braille codes used to represent mathematics in different countries and agencies.
Expert handler should provide a way allow user to select different type of braille conversion.
There is finite number of possible braille dots patterns because there are only 6 or 8 possible dots per Braille symbol and usually simple ASCII strings are used to communicate Braille.
However, there are a lot of specific ASCII to dots pattern encoding in various countries. It make sense to use unicode symbols from 0x2800 to 0x28FF to communicate braille pattern to AT. Alternative - communicate braille table to AT or request current braille table from the AT.
There is possible need to have braille output of various level of granularity. For example at low level of granularity - have overall description of the mathematical expression or image and at high level of granularity have complete braille translation of the whole math expression or list of all labeled components of the image.
Some data may need to have more advanced tactile output than braille. For example graphical data would greatly benefit from being embossed on paper or 2D braille display and having input device (such as a touchpad or camera) which allows user to communicate to computer which parts of graphics he is interested in. Such interactive functionality should be left to expert handler completely. It means, that expert handler have to have interactive mode and a way for AT to turn this mode on. In such mode AT should provide a way to expert handler to produce speech and braille output via AT devices (use the same TTS engine or/and braille display)