Random Jottings on problems with SVG.

  1. SVG uses the same mechanism to control reading order, rendering order and "tab order" (although tab navigation is not provided for in the spec - but Chris Lilley suggested keyboard navigation was a UA issue). This means that our "background" elements have to come first in the source to be visually rendered background, but doing this can harm the fact that we wish to navigate through the "foreground" (and presumably more important) elements first. (see WCAG 1.0 - 9.4).

  2. User Stylesheets mean that using positional information to portray information can fail. Users with poor visibility may increase their text size - Demonstration of SVG text/css problem.

  3. SVG is commonly used for applications, applications require user input, the only method for user-input is the mouse, there is obviously a problem. The solution is for device independant events, these also require a "tabindex" mechanism to provide an abstract way to specify which elements and the order of elements which can recieve focus for these device independant events.

  4. Fallback from missing TREF, TREF allows you to refer to text content in another SVG element or even document, this is useful, however there is no mechanism provided for fallback if the TREF'd document isn't found (This is also a problem for ASV which does not support TREFs in external documents.) If the link is broken (perhaps because the SVG was saved locally, or the web connection broke mid transfer) the meaning of a document can radically change. Consider my Llama demo which gives a very different message in Batik and ASV. Dean Jackson's SVG to text converter also demonstrates the problem which shows how much cleverer SVG Access Technologies need to be due to the ability to refer to external documents.

  5. The textLength attribute of the various text elements causes a problem as it doesn't appear to be able to be overridden by a user stylesheet, this means that a user who needs a larger font than the author specified will be severely harmed by it - see text length problem demonstattion - I have no suggestions idea of a solution...

  6. Applying alternative representations by url, when we have alternative representations of content in a media type that cannot be included in a foreignObject element, we cannot apply these as alternative content to elements (see xml guidelines 1.1) - and even those media types we can include, it's rather clunky, and we'd need to define our own switch vocabulary which is a bit of pain.