Validierungsergebnisse – Prüfen der Barrierefreiheit im Web und Speichern der Ergebnisse
Aspose.HTML for Java enthält das Paket com.aspose.html.accessibility, das für die Durchführung und Verwaltung von Prüfungen der Barrierefreiheit im Web vorgesehen ist.
In diesem Artikel wird erklärt, wie man die Validierungsergebnisse anhand der WCAG-Normen überprüft, die getesteten Kriterien angibt und spezifische Probleme, die während der Validierung aufgetreten sind, detailliert beschreibt.
Wenn Sie wissen möchten, wie Sie die Zugänglichkeit einer Website programmatisch überprüfen können, lesen Sie den Artikel Accessibility Validator – Website Accessibility Check in Java und erhalten Sie eine schrittweise Anleitung.
ValidationResult Klasse
Das Paket com.aspose.html.accessibility.results enthält Klassen, die die Ergebnisse der Validierung von Webzugänglichkeitsregeln beschreiben. Die Klasse ValidationResult ist die Hauptklasse, die Ergebnisse für die Überprüfung aller Kriterien des AccessibilityRules-Objekts enthält.
Hier ist ein Java-Codeausschnitt für eine Überprüfung der Barrierefreiheit im Web. Es richtet einen Validator mit spezifischen Einstellungen ein, validiert ein HTML-Dokument und gibt die Ergebnisse in der Konsole aus, so dass Sie die spezifischen Probleme in Ihrem HTML-Dokument identifizieren und beheben können:
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}RuleValidationResult-Klasse
Die Klasse RuleValidationResult stellt das Validierungsergebnis einer bestimmten Zugänglichkeitsregel dar. Sie liefert detaillierte Informationen darüber, wie die Regel bewertet wurde, einschließlich einer Sammlung von ITechniqueResult-Elementen, die jeweils die zur Erfüllung der Erfolgskriterien verwendete Methode darstellen.
Die Klasse zeigt mehrere Schlüsseleigenschaften (Methoden):
- getRule() identifiziert die zu prüfende Regel;
- getSuccess() gibt an, ob die Regel bestanden hat oder nicht;
- getResults() enthält den vollständigen Satz der Methodenergebnisse;
- getErrors() und getWarnings() bieten Sammlungen von Problemen oder potenziellen Problemen, die während der Validierung aufgetreten sind, was diese Klasse für die Analyse von regelspezifischen Zugänglichkeitsergebnissen unerlässlich macht.
Der folgende Code durchläuft die Liste der RuleValidationResult-Objekte in der Eigenschaft Details eines ValidationResult-Objekts. Jedes RuleValidationResult stellt das Ergebnis einer bestimmten Zugänglichkeitsregelprüfung während des Validierungsprozesses dar:
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 }Angenommen, die Details enthalten Ergebnisse für zwei Regeln – H37 und H67. Die Ausgabe wird sein:
1H37:Check alt attributes for images = True
2H67:Check that all forms have labels = FalseITechniqueResult
ITechniqueResult ist eine öffentliche Schnittstelle, die Informationen über das Ergebnis der Überprüfung einer bestimmten Zugänglichkeitstechnik enthält, die verwendet wurde, um das Erfolgskriterium einer Regel zu erfüllen. Sie enthält eine Methode getRule(), um die zugehörige Regel zu identifizieren, getSuccess(), um anzuzeigen, ob die Technik bestanden hat, und getError(), das ein IError-Objekt zurückgibt, das Einzelheiten über alle während der Prüfung aufgetretenen Probleme enthält. Diese Schnittstelle hilft dabei, die Regelprüfung für eine detailliertere Analyse in einzelne Verfahrensergebnisse aufzuschlüsseln.
Im Folgenden finden Sie ein Beispiel für die Ausgabe von Ergebnissen, die den Test der Erfolgskriterien nicht bestanden haben. Wir drucken auf der Konsole Code Beschreibung der Kriterien, sowie alle Details der Ausführung der Methoden dieser Kriterien sowohl erfolgreich und mit Fehlern:
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}Validierungsergebnisse speichern
Sobald der Validierungsprozess abgeschlossen ist, können Sie die Ergebnisse zur weiteren Analyse, Dokumentation und Berichterstattung speichern. Die Aspose.HTML for Java-Bibliothek ermöglicht es Ihnen, die Validierungsergebnisse in einem TextWriter-Objekt zu speichern, wobei ein Parameter vom Typ
ValidationResultSaveFormat angibt, in welchem Format der Text gespeichert werden soll.
Es gibt drei Hauptformate für die Speicherung von Ergebnissen der Barrierefreiheitsprüfung:
- Text
- JSON
- XML
Validierungsergebnisse in einer Zeichenkette speichern
Beim Speichern von Validierungsergebnissen in einer Zeichenkette wird die Methode saveToString() verwendet:
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);Die Ausgabe erfolgt in einem einfachen Textformat, das das Ergebnis der Prüfung klar angibt und detaillierte Informationen über Fehler mit Kommentaren liefert:
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...Hier wird das Ergebnis der Prüfung validationResult und eine Liste der Fehler und Kommentare angegeben:
- technique – Code der Technik, die getestet wurde
- criterion – Kriterien, denen die Technik entspricht
- type – Ergebnistyp
- description – Fehlerbeschreibung
- source – Tag, der den Fehler enthält
Validierungsergebnisse im XML-Format speichern
Für diejenigen, die ein strukturierteres und maschinenlesbares Format bevorzugen, ist die Speicherung der Validierungsergebnisse im XML-Format eine geeignete Wahl. Schauen wir uns an, wie man die Ergebnisse im XML-Format mit der Methode
saveTo(writer, format) speichert. Diese Methode nimmt ein TextWriter-Objekt und das gewünschte
ValidationResultSaveFormat (in diesem Fall XML) an.
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()));Die daraus resultierende XML-Darstellung ist ein übersichtliches Format zur einfachen Analyse und Weiterverarbeitung:
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>Siehe auch
- Hilfreiche Tipps zur Bewertung und Verbesserung der Textsichtbarkeit finden Sie im Artikel Zugänglichkeit von Farbkontrasten, der die Kontrastprüfung auf der Grundlage der WCAG mit Aspose.HTML for Java behandelt.
- Anleitungen zur Überprüfung der Kompatibilität von Webinhalten mit Bildschirmlesegeräten finden Sie in dem Artikel Zugänglichkeit von Bildschirmlesegeräten. Dort erfahren Sie, wie Sie den Alt-Text und andere wichtige Elemente überprüfen können.
- In dem Artikel
Zugänglichkeitsprüfung von Websites – Fehler und Warnungen erfahren Sie, wie Sie in Java programmgesteuert Fehler- und Warninformationen bei der Prüfung der Zugänglichkeit einer Website sammeln können.
Aspose.HTML bietet einen kostenlosen Online- Web-Zugänglichkeits-Checker. Dieses Tool scannt Webseiten, prüft sie auf WCAG-Konformität, identifiziert Probleme und schlägt Verbesserungen vor. Sie erhalten sofortige Einblicke in die Konformität Ihrer Website und können so den Umfang der notwendigen Korrekturen und die Lücke zwischen dem aktuellen Zustand Ihrer Website oder Ihres HTML-Dokuments und den WCAG-Anforderungen bestimmen.
