4 septembre 2001

Appendice G : Les critères de conformité


Contenu

Cet appendice est normatif.

G.1 Introduction

Il existe différents jeux de critères de conformité SVG pour :

G.2 Les fragments de document SVG conformes

Un fragment de document SVG est un fragment de document SVG conforme s'il adhère à la spécification décrite dans ce document (La spécification sur les Graphiques Vectoriels Adaptables (SVG)), y compris le DTD de SVG (voir la Définition de Type de Document), et également :

Le langage SVG et ces critères de conformité ne donnent de limite de taille pour aucun des aspects d'un contenu SVG. Il n'y a pas de plafond pour le nombre d'éléments, la quantité de données textuelles ou le nombre de caractères des valeurs d'attribut.

G.3 Les fichiers SVG autonomes conformes

Un fichier est un fichier SVG autonome conforme si :

G.4 Les fragments de document SVG inclus conformes

On peut inclure des fragments de document SVG dans des documents XML parents, en utilisant les facilités de l'espace de nommage XML, décrites dans Les espaces de nommage dans XML vf..

Un fragment de document SVG, inclus dans un document XML parent, est un fragment de document SVG inclus conforme si, examiné à part du document XML parent, il est conforme aux Définitions de Type de Document (DTD) de SVG.

En particulier, remarquer que des éléments issus de l'espace de nommage SVG ne peuvent pas être utilisés par eux-mêmes. Ainsi, la partie SVG du document suivant n'est pas conforme :

<?xml version="1.0" standalone="no"?>
<!DOCTYPE UneCertaineGrammaireXMLParente PUBLIC "-//UnCertainParent" 
  "http://UneCertaineGrammaireXMLParente.dtd">
<ParentXML>
  <!-- Les éléments de ParentXML viennent ici -->

  <!-- Ce qui suit n'est pas conforme -->
  <z:rect xmlns:z="http://www.w3.org/2000/svg"
            x="0" y="0" width="10" height="10" />

  <!-- Les autres éléements de ParentXML viennent là -->
</ParentXML>

Au lieu de ceci, pour que la partie SVG devienne un fragment de document SVG inclus conforme, le fichier pourrait être modifié comme suit (l'exemple ci-dessous montre l'emploi d'un SVG stylisable) :

<?xml version="1.0" standalone="no"?>
<!DOCTYPE UneCertaineGrammaireXMLParente PUBLIC "-//UnCertainParent" 
  "http://UneCertaineGrammaireXMLParente.dtd">
<ParentXML>
  <!-- Les éléments de ParentXML viennent ici -->

  <!-- Ce qui suit est conforme -->
  <z:svg xmlns:z="http://www.w3.org/2000/svg"
         width="100px" height="100px" >
    <z:rect x="0" y="0" width="10" height="10" />
  </z:svg>

  <!-- Les autres éléements de ParentXML viennent là -->
</ParentXML>

G.5 Les générateurs SVG conformes

Un générateur SVG conforme est un programme qui :

En supplément, un outil d'édition, pour obtenir le label de générateur SVG conforme, doit se conformer à toutes les directives d'accessibilité de niveau de priorité 1 du document « Règles d'accessibilité pour les outils d'édition 1.0  » [ATAG vf.] concernant les générateurs de contenu SVG. (On encourage les niveaux de priorité 2 et 3, mais ceux-ci ne sont pas requis pour la conformité).

Les générateurs SVG sont invités à suivre les développements du W3C dans le domaine de l'internationalisation. Les champs qui revêtent un intérêt particulier sont le modèle des caractères du W3C et le concept de normalisation uniforme en avance étendue au Web, qui promettent d'améliorer les échanges de données textuelles Unicode entre les utilisateurs et les applications. Les versions ultérieures de la spécification SVG vont vraisemblablement requérir des générateurs SVG conformes la gestion du modèle des caractères du W3c.

G.6 Les interpréteurs SVG conformes

Un interpréteur SVG est un programme qui peut parcourir et traiter des fragments de document SVG. Comme exemples d'interpréteurs SVG, on trouve des outils de transcodage côté serveur (par exemple, un outil qui convertit un contenu SVG en un contenu SVG modifié) ou des outils d'analyse (par exemple, un outil qui extrait le texte d'un contenu SVG). Un visionneur SVG satisfait également aux exigences d'un interpréteur SVG, en ceci qu'il peut parcourir et traiter des fragments de document SVG, le traitement consistant du rendu du contenu SVG sur le média cible.

Dans un interpréteur SVG conforme, le lecteur XML doit être capable de parcourir et de traiter toutes les constructions XML définies dans [XML10] vf. et [XML-NS] vf..

Il existe deux sous-catégories d'interpréteurs SVG conformes :

Un interpréteur SVG conforme doit parcourir correctement tout fragment de document SVG. L'interprétation correcte de la sémantique de toutes les fonctionnalités n'est pas requise.

Remarque : un transcodeur, qui opère de SVG vers une autre représentation graphique, comme de SVG vers une image pixélisée, se comporte comme un visionneur, c'est pourquoi les critères de conformité de visionneur s'appliquent. (Voir Les visionneurs SVG conformes).

G.7 Les visionneurs SVG conformes

Un visionneur SVG est un programme capable de parcourir et traiter un fragment de document SVG et de rendre le contenu du document sur un média de sortie donné, comme un écran ou une imprimante ; ainsi, un visionneur SVG est également un interpréteur SVG.

Il existe deux sous-catégories de visionneurs SVG conformes :

Les crit&eagrave;res spécifiques qui s'appliquent aux visionneurs SVG statiques conformes comme aux visionneurs SVG dynamiques conformes :

Bien que la gestion de l'anticrénelage ne soit pas une obligation stricte pour un visionneur SVG conforme, on le recommande fortement pour l'affichage. L'absence de la gestion de l'anticrénelage amènera généralement des résultats pauvres à l'affichage.

Les critères spécifiques qui ne s'appliquent qu'aux visionneurs SVG dynamiques conformes :

L'Initiative pour l'Accessibilité du Web[WAI] définit « Les directives d'accessibilité de l'agent utilisateur » [UAAG]. Les visionneurs sont invités à se conformer aux directives d'accessibilité de priorité 1, définies dans ce document, et si possible à celles de priorité 2 et 3. Une fois que les directives seront complétées, une version ultérieure de la présente spécification requiera vraisemblablement la conformité avec les directives de niveau 1 pour les visionneurs SVG conformes.

Un niveau conceptuel supérieur est représenté par le visionneur SVG de haute qualité conforme, avec les sous-catégories visionneur SVG statique de haute qualité conforme et visionneur SVG dynamique de haute qualité conforme. Les visionneurs SVG de haute qualité conformes statiques et dynamiques doivent gérer les fonctionnalités supplémentaires suivantes :

Un visionneur SVG dynamique de haute qualité conforme doit en outre gérer les fonctionnalités suivantes :

Un visionneur SVG conforme doit pouvoir appliquer des propriétés de style sur un contenu SVG en utilisant des attributs de présentation.

Si l'agent utilisateur est capable de gérer CSS2, un visionneur SVG conforme doit gérer le style CSS sur un contenu SVG et doit gérer toutes les fonctionnalités de CSS2 (voir la spécification Les feuilles de style en cascade, niveau 2 (CSS2) vf.), décrites dans la présente spécification comme s'appliquant à SVG (voir les sections sur les propriétés partagées par CSS et XSL, Le style avec CSS et L'utilisation des facilités de CSS et XSL par SVG). Les fonctionnalités reconnues issues de CSS2 doivent être implémentées en fonction des définitions de la conformité de la spécification CSS2 vf..

Si l'agent utilisateur est capable de visionner un contenu HTML, ou XHTML, ou d'appliquer des propriétés de style CSS/XSL à un document XML, alors un visionneur SVG conforme doit gérer les ressources de type MIME "image/svg+xml" partout où des ressources externes d'image pixélisée peuvent être utilisées, comme avec l'élément 'img' de HTML ou XHTML et avec les propriétés CSS/XSL pouvant se rapporter à des ressources d'image pixélisée (par exemple, la propriété 'background-image').