SVG Linearization and Accessibility

Ivan Herman

Head of Offices, World Wide Web Consortium
C/o W3C Dutch Office at CWI, Kruislaan 413, 1098 SJ Amsterdam
tel: +31-20-5924163
fax: +31-20-5924312

Daniel Dardailler

Deputy Director Europe, W3C
2004, route des Lucioles - B.P. 93
06902 Sophia Antipolis Cedex
tel: +33 4 92 38 79 83
fax: +33 4 92 38 78 22

Two notes have been published in W3C on the accessibility issues of SVG: the accessibility note on SVG of Charles McCathieNevile and Marja-Riitta Koivunen[SVG-access] and the internship report of Guillaume Lovet on the SVG linearizer tool[SVG-linear] (the latter is the report of the summer training work of Guillaume Lovet at W3C/INRIA). The two works are obviously related. Whereas the accessibility note describes a general methodology on how to use various SVG elements (grouping, description, styling, etc) to increase accessibility, the linearizer tool describes a more systematic approach and a tool, which could be regarded as the basis for a non-graphic reader of an SVG image. The linearizer tool relies on the author following certain rules, which can be be regarded as a practical usage of the methodology described in the accessibility note.

Unfortunately, there was no follow up on these reports since, which gives the false impression that the issue of SVG accessibility can be considered as solved. That is, however, not true. I spent a large percentage of my time in the past months in generating various SVG-based slides and presentation images. I was confronted to the issue of accessibility; I soon realized that the methodology described in the accessibility note[SVG-access] is only a first (though necessary!) step. Indeed, although it is certainly necessary to use the desc and title elements of SVG, for example, to give a textual description of the graphics content, it is far from obvious what and how should one describe in those. Unless some kind of common vocabulary is used, the various descriptions will be very different from one another, depending on the author's style, mood, and time; this would make it very difficult to use any kind of hypothetical textual reader, for example, to work properly.

This is where the linearizer tool comes into the picture. Indeed, the obvious answer to the problems is to define a common vocabulary to describe the image content. By describing this vocabulary in RDF[RDF], a more systematic description can be included into the SVG, thanks to the metadata element. The linearizer report includes a first shoot at such a vocabulary, accompanied by a Java tool which can read and display the RDF content in a human readable form. (The accessibility note refers to the usage of RDF, too, but it does not make an attempt to develop such vocabulary.)

What I did was to pick it up where Guillaume Lovet left it. I started with the vocabulary defined in the linearizer report, and I tried to use it systematically on a few presentation slides which I have. By doing so, I had to extend and/or change the vocabulary. I also reproduced the Java tool in XSLT; I found it easier to maintain and extend it rather than doing it in Java.