Résultats de la validation – Comment vérifier l'accessibilité du web et enregistrer les résultats
Aspose.HTML for Java comprend le paquet com.aspose.html.accessibility, destiné à effectuer et à gérer les contrôles d’accessibilité du web.
Cet article explique comment examiner les résultats de la validation par rapport aux normes WCAG, signaler les critères testés et détailler les problèmes spécifiques rencontrés au cours de la validation.
Pour apprendre à vérifier par programmation l’accessibilité d’un site web et obtenir un guide étape par étape, lisez l’article Accessibility Validator – Vérification de l’accessibilité des sites web.
Classe ValidationResult
Le paquet com.aspose.html.accessibility.results contient des classes décrivant les résultats de la validation des règles d’accessibilité du web. La classe ValidationResult est la classe principale qui contient les résultats de la vérification de tous les critères de l’objet AccessibilityRules.
Voici un extrait de code Java pour un contrôle de l’accessibilité du web. Il configure un validateur avec des paramètres spécifiques, valide un document HTML et affiche les résultats dans la console, ce qui vous permet d’identifier et de résoudre les problèmes spécifiques de votre document HTML :
1// Validate HTML against WCAG rules using Java
2
3// Initialize a webAccessibility container
4WebAccessibility webAccessibility = new WebAccessibility();
5
6// Create an accessibility validator with static instance for all rules
7// from repository that match the builder settings
8AccessibilityValidator validator = webAccessibility.createValidator(ValidationBuilder.getAll());
9
10// Prepare a path to a source HTML file
11String documentPath = "input.html";
12
13// Initialize an object of the HTMLDocument class
14final HTMLDocument document = new HTMLDocument(documentPath);
15ValidationResult validationResult = validator.validate(document);
16
17// Checking for success
18if (!validationResult.getSuccess()) {
19 // Get a list of RuleValidationResult Details
20 for (RuleValidationResult detail : validationResult.getDetails()) {
21 System.out.println(String.format("%s: %s = %s",
22 detail.getRule().getCode(),
23 detail.getRule().getDescription(),
24 detail.getSuccess()));
25 }
26}
Classe RuleValidationResult
La classe RuleValidationResult représente le résultat de la validation d’une règle d’accessibilité particulière. Elle fournit des informations détaillées sur la manière dont la règle a été évaluée, y compris une collection d’éléments ITechniqueResult, chacun représentant la méthode utilisée pour satisfaire aux critères de réussite.
La classe révèle plusieurs propriétés clés (méthodes) :
- getRule() identifie la règle testée ;
- getSuccess() indique si la règle a réussi ou échoué ;
- getResults() contient l’ensemble des résultats de la méthode ;
- getErrors() et getWarnings() fournissent des collections de problèmes ou de problèmes potentiels rencontrés lors de la validation, ce qui rend cette classe essentielle pour l’analyse des résultats d’accessibilité spécifiques aux règles.
Le code suivant parcourt la liste des objets RuleValidationResult
dans la propriété Details
d’un objet validationResult
. Chaque RuleValidationResult
représente le résultat de la vérification d’une règle d’accessibilité spécifique au cours du processus de validation :
1 // Get a list of RuleValidationResult Details
2 for (RuleValidationResult result : validationResult.getDetails())
3 {
4 System.out.println(String.format("%s: %s = %s",
5 result.getRule().getCode(), result.getRule().getDescription(), result.getSuccess()));
6 }
Supposons que le fichier Details
contienne des résultats pour deux règles – H37 et H67. La sortie sera :
1H37:Check alt attributes for images = True
2H67:Check that all forms have labels = False
ITechniqueResult
L’interface
ITechniqueResult est une interface publique qui contient des informations sur le résultat de la vérification d’une technique d’accessibilité particulière utilisée pour satisfaire le critère de réussite d’une règle. Elle comprend une méthode getRule()
pour identifier la règle associée, getSuccess()
pour indiquer si la technique a réussi, et getError()
, qui renvoie un objet IError
contenant les détails de tout problème rencontré au cours de la vérification. Cette interface permet de décomposer le contrôle des règles en résultats de techniques individuelles pour une analyse plus détaillée.
Voici un exemple de sortie des résultats qui n’ont pas passé le test des critères de réussite. Nous imprimons sur la console le code de description des critères, ainsi que tous les détails de l’exécution des méthodes de ces critères aussi bien avec succès qu’avec des erreurs :
1// Validate HTML accessibility using Java and get detailed failed rule results
2
3// Initialize a webAccessibility container
4WebAccessibility webAccessibility = new WebAccessibility();
5
6// Create an accessibility validator with static instance for all rules
7// from repository that match the builder settings
8AccessibilityValidator validator = webAccessibility.createValidator(ValidationBuilder.getAll());
9
10String documentPath = "input.html";
11
12// Initialize an object of the HTMLDocument class
13final HTMLDocument document = new HTMLDocument(documentPath);
14ValidationResult validationResult = validator.validate(document);
15
16// Take a list of rules results
17for (RuleValidationResult ruleResult : validationResult.getDetails()) {
18 // List only unsuccessful rule
19 if (!ruleResult.getSuccess()) {
20 // Print the code and description of the rule
21 System.out.println(String.format("%s: %s",
22 ruleResult.getRule().getCode(),
23 ruleResult.getRule().getDescription()
24 ));
25
26 // Print the results of all methods
27 for (ITechniqueResult ruleDetail : ruleResult.getResults()) {
28 // Print the code and description of the criterions
29 StringBuilder str = new StringBuilder(String.format("\n{0}: {1} - {2}",
30 ruleDetail.getRule().getCode(),
31 ruleDetail.getSuccess(),
32 ruleDetail.getRule().getDescription()
33 ));
34 System.out.println(str);
35 }
36 }
37}
Sauvegarder les résultats de la validation
Une fois le processus de validation terminé, vous pouvez enregistrer les résultats en vue d’une analyse, d’une documentation et d’un rapport ultérieurs. La bibliothèque Aspose.HTML for Java vous permet d’enregistrer les résultats de la validation dans un objet TextWriter
, où un paramètre de type
ValidationResultSaveFormat spécifie le format dans lequel le texte sera enregistré.
Trois formats principaux sont disponibles pour enregistrer les résultats de la validation de l’accessibilité du web :
- Text
- JSON
- XML
Enregistrer les résultats de la validation dans une chaîne de caractères
La méthode saveToString() est utilisée pour enregistrer les résultats de la validation dans une chaîne de caractères :
1// Validate HTML for accessibility in Java and export all errors and warnings as a string
2
3String htmlPath = "input.html";
4
5final HTMLDocument document = new HTMLDocument(htmlPath);
6AccessibilityValidator validator = new WebAccessibility().createValidator();
7ValidationResult validationresult = validator.validate(document);
8
9// get rules errors in string format
10String content = validationresult.saveToString();
11
12// SaveToString - return only errors and warnings
13// if everything is ok, it will return "validationResult:true"
14System.out.println(content);
Le résultat est présenté sous forme de texte simple, indiquant clairement le résultat de la vérification et fournissant des informations détaillées sur les erreurs, accompagnées de commentaires :
1validationResult:False;
2%%
3technique: H35;
4criterion: 1.1.1;
5type: Error;
6description: Check that the applet element contains an alt attribute with a text alternative for the applet. ;
7source: <applet code="tictactoe.class" width="250" height="250">tic-tac-toe game</applet>;
8%%
9technique: H37;
10criterion: 1.1.1;
11type: Error;
12description: Img element missing an alt attribute. The value of this attribute is referred to as "alt text".;
13source: <img src="image1.jpeg">;
14%%
15
16...
Le résultat du contrôle est indiqué validationResult et une liste d’erreurs et de commentaires :
- technique – code de la technique testée
- criterion – critères auxquels la technique correspond
- type – type de résultat
- description – description de l’erreur
- source – balise contenant l’erreur
Enregistrer les résultats de la validation au format XML
Pour ceux qui préfèrent un format plus structuré et lisible par une machine, le stockage des résultats de validation au format XML est un choix approprié. Voyons comment sauvegarder les résultats au format XML en utilisant la méthode
saveTo(writer, format
). Cette méthode prend un objet TextWriter
et le
ValidationResultSaveFormat désiré (dans ce cas, XML).
1// Validate HTML for accessibility in Java and export all errors and warnings as an XML
2
3String htmlPath = "input.html";
4
5final HTMLDocument document = new HTMLDocument(htmlPath);
6AccessibilityValidator validator = new WebAccessibility().createValidator();
7ValidationResult validationresult = validator.validate(document);
8
9final java.io.StringWriter sw = new java.io.StringWriter();
10validationresult.saveTo(sw, ValidationResultSaveFormat.XML);
11
12String xml = sw.toString();
13System.out.println(xml);
14
15DocumentBuilderFactory documentBuildFactory = DocumentBuilderFactory.newInstance();
16DocumentBuilder documentBuilder = documentBuildFactory.newDocumentBuilder();
17documentBuilder.parse(new java.io.ByteArrayInputStream(xml.getBytes()));
La représentation XML qui en résulte est un format bien organisé qui facilite l’analyse et le traitement ultérieur :
1<validationResult>
2<isValid>false</isValid>
3<details>
4 <techniqueResult>
5 <technique>H35</technique>
6 <criterion>1.1.1</criterion>
7 <type>Error</type>
8 <description>Check that the applet element contains an alt attribute with a text alternative for the applet. </description>
9 <source><![CDATA[<applet code="tictactoe.class" width="250" height="250">tic-tac-toe game</applet>]]>
10 </source>
11 </techniqueResult>
12 <techniqueResult>
13 <technique>H37</technique>
14 <criterion>1.1.1</criterion>
15 <type>Error</type>
16 <description>Img element missing an alt attribute. The value of this attribute is referred to as "alt text".</description>
17 <source><![CDATA[<img src="image1.jpeg">]]>
18 </source>
19 </techniqueResult>
20
21 ...
22
23 </details>
24</validationResult>
Voir aussi
- Vous trouverez des conseils utiles sur l’évaluation et l’amélioration de la visibilité du texte dans l’article Accessibilité du contraste des couleurs, qui couvre la vérification du contraste basée sur les WCAG à l’aide d’Aspose.HTML for Java.
- L’article Accessibilité des lecteurs d’écran contient des instructions sur la manière de vérifier que le contenu web est compatible avec les lecteurs d’écran. Vous y apprendrez comment vérifier le texte alt et d’autres éléments clés.
- Dans l’article
Vérification de l’accessibilité du web – Erreurs et avertissements, vous apprendrez comment collecter par programmation en Java des informations sur les erreurs et les avertissements lors de la vérification de l’accessibilité d’un site web.
Aspose.HTML propose gratuitement en ligne Vérificateur d’accessibilité Web. Cet outil analyse les pages web, valide leur conformité aux WCAG, identifie les problèmes et suggère des améliorations. Il vous permet de déterminer l’ampleur des corrections nécessaires et l’écart entre l’état actuel de votre site web ou de votre document HTML et les exigences des WCAG.