New version of Fangs (translation help needed) and a Python source colorizer

Long time no post. Here is an update of Fangs – the screen reader emulator, and a script to convert Python source code to XHTML. Read on for the details.

The new version of Fangs (version 0.9.3) contains the following changes:

  • Refactoring of the renderer to support localization.
  • Language change in source document displayed. The original screen reader comes with voices for english, french and spanish and will use the appropriate voice if the markup is using the lang attribute.
  • Minor bug fixes and tweaks.
  • Help and tutorial added. A help icon is displayed in the top right corner. It links to the Fangs help page which explains how to use Fangs and what to look for in the output. My ambition is to add more information on how to fix common problems.

As usual, the new version can be downloaded from the Sourceforge project page.

Help with translation

I would be very happy for help with localization. The user interface and help page can now be translated (the UI uses DTD files in the extension locale directory). The renderer is prepared for translation but the original screen reader actually reads announcements (e.g. “Heading level one…”) in english. Input from JAWS users in Spain and France is appreciated. If you can provide translation help, please contact me at pete at

Python source formatter

This is completely unrelated to Fangs. While doing some work in Pyhton I needed a way to output Python source in HTML. A few tools were already available, but none of them output HTML according to spec. Therefore I modified the MoinMoin source colorizer to output XHTML instead. For sample output see source of itself or download the script and default CSS in a zip file. You can modify the ouput by making changes to the colorize.css file.


  1. Glen82 says at 2005-06-07 17:06:

    The Python source formatter is great! I guess the proper markup may help Google and other search engines index Python source code properly and make it easier to find for developers.

  2. Tom says at 2005-06-08 00:06:

    Great to see new development on this excellent project.

  3. Tim Reeves says at 2005-06-09 23:06:

    Just got Fangs while learning about accessibility – great job, great idea to do it. Thanks! One thing I noticed since I tried it on a german language page: Despite the DTD: <html xmlns=”” lang=”de” xml:lang=”de”> the first thing Fangs says (after the document title) is “Voice switch from en to de”, which seems wrong. Is it a bug? Also, the document has title tag “Wintours” but Fangs says “Wintours dash Internet Explorer” before the globe grafik. Where did IE come in? Again many thanks, Tim.

  4. Pete says at 2005-06-11 20:06:

    Tim: The language switch information will be displayed for all pages whith the language != en. It is just information about which voice would be reading the page. Future versions will allow you to set a different default language.

    Regarding the “dash Internet Explorer”: Fangs emulates a particular screen reader. This screen reader only works with IE on windows and will say “Wintours dash Internet Explorer” so the ouput is correct.

  5. ethanak says at 2005-06-21 07:06:

    Solution for one minor bug in Fangs:

    a) use parseInt(x,10), not parseInt(x). F.ex. parseInt(’08’) returns NaN (as ’08’ is not proper octal number), parseInt(‘033′) returns 27. I checked it with JAWS – it’s output is ‘zero thirty three’.

    b) translating numbers with leading zero : something like ‘zero ‘+…

    Thanks for great program – now I can work on Linux and check my pages with JAWS only in last phase of project!

  6. LintHuman says at 2005-06-22 10:06:

    Many thanks for Fangs – it’s a real God-send! I have a question about the voice switch when the language changes. Does JAWS actually announce this, or does it simply change voice seamlessly, without notifying the listener?

  7. Pete says at 2005-06-22 14:06:

    LintHuman: JAWS does not announce it. But you will notice that the voice has changed as the intonation is adapted to the specific language.

    I used a different background color for the language switch information compared to the other announcements.

  8. tuesqui says at 2005-07-11 11:07:

    Hello et thanks to Fangs for its accessibility. But, I have de Flash content and Fangs does not work with it. Do you know that problem ?

  9. Stephane Deschamps ( says at 2005-07-18 14:07:

    Hey Pete,

    I wrote an email a few weeks ago but got no reply from you, so maybe your spam filter is too tough.

    Get in touch with me, I can help with the french localization hopefully.

  10. Pete says at 2005-08-08 14:08:

    Tuesqui, Fangs is not yet able to emulate how Jaws handles Flash. Jaws can only handle flash movies created for version 6 or later of the Flash player and even then it is difficult for the user to parse the content.

  11. Darren Campbell says at 2005-10-08 10:10:

    How do I install Fangs? I downloaded the Fangs file but do now know how to install extensions manually. Usually, I just click on a link and FF automatically does the installation.

  12. Pete says at 2005-10-11 09:10:

    Darren: You install Fangs by opening Firefox and then select the menu File->Open File… option. Select the Fangs XPI file and Firefox will install the extension. You will have to restart Firefox.

  13. Bhavin patel says at 2005-10-27 11:10:

    In my one of .aspx page i have used javascript. but in that javascript parseInt is used which is working properly in IE but no effect in Mozilla. i mean it is not working in mozilla.

  14. Nadine says at 2005-11-14 16:11:

    will there be an update for FF 1.5? I really love your extension and i would be very pleased, if i could use it with the latest FF :)

    Greets, Nadine

  15. Morte says at 2005-11-30 16:11:

    Please upgrade Fangs so it will work with FF 1.5.

  16. Justin says at 2005-12-15 03:12:

    Another vote for an upgrade to work with FF 1.5

  17. Pete says at 2005-12-15 11:12:

    Hi! I am trying to upgrade Fangs to work with FF 1.5. I have a shitload of work to do for my customers right now but will try to do it ASAP.

Peter Krantz, (remove giraffe).