QA Review of SVG 1.2

This is a review of the SVG 1.2 Last Call, version 27 October 2004, specification against QA Specification Guidelines, Version 22 November 2004. The review has been written by Karl Dubost, QA WG chair and W3C Conformance Manager and achieved on 23 November 2004.

General Comments

The specification is so far of any kind of minimum quality criteria, that I didn't try to evaluate the Good Practices, and I have just focus on the 9 mandatory principles, only 9.

QA Specification Guidelines Conformance Checklist

To be conformant to Specification Guidelines, you only have to fulfil all the principles, though having more points filled can only be benefitial for the technology.

There is no conformance clause in the document, there is no table of content items refering to the conformance clause. The only of conformance is in the introduction which we don't know if it's normative or not with the following text.

SVG 1.2 uses the same definitions for conforming SVG Documents and Document Fragments as SVG 1.1.

There's no link to the conformance section of SVG 1.1. In the constraints defined in the introduction, the WG mentions that there's no DTD (official is completely useless in this context, there's one or not) and at the same time, the WG does not impose the validation against the RelaxNG Schema mandatory. Then how it is possible to define a validating conforming user agent of SVG 1.2.

The RelaxNG document is not under TR/ space then subject to change, and then subject to modifications of the notion of conformance. That's bad.

There is no scope section nor prose explaining what the specification is about. It defines in the introduction in a way which don't know if it's mandatory or not that is an extension of SVG 1.1 with no proper links to the relevant section of SVG 1.1 explaining what SVG 1.1 is about. In consequence, there's no table of content item going to the scope section.

The text makes extensive references to other specifications, like xSBL, CSS3 Text Module. There is no list at all of normative references. There is a list of references, but we don't know which ones of them are normative or not, which ones have to be carefully considered to implement SVG 1.2. For example, it's not recommended to make a normative reference to a technology which is itself not normative. The references givent in the list are not dated URIs reference, which means there's no way to know which version of the specification SVG is referring to.

When a reference is cited, it doesn't follow the Manual of Style recommendation, which makes the citation accessible to the user for example when printing the document. Worse than that sometimes SVG limits the features of the referred specification without defining clearly the conformance model of SVG and with a possibility of breaking the conformance model of the referred specification. for example, in 4.14.1 The text-align property, the text uses CSS3 Text Module but limits it

Note that SVG does not allow the value "string" for this property, and that the values "left" and "right" have been removed as they do not make sense in an internationalized context.

It basically means that a SVG user agent can't be conformant CSS 3 Text Module and SVG 1.2 at the same time

We believe that SVG 1.2 is organized with modules, but there's nothing in the document which explains the structural division of this document, modules, levels and how they interact with the conformance section.

It seems for example, that SVG 1.2 discourages extensibility, but it's not sure and it's not explained anywhere. The creation of new profiles is also discouraged, but there no way to know how does it relate to the conformance of the document, which doesn't exist.

In the chapter 10, I can read that: SVG 1.2 updates the rendering model and rendering operations of SVG 1.1., which makes me believe that a few things have been changed or deprecated. There's no way to know globally this and there's no identification at all.