Prüfung der Barrierefreiheit im Web – Fehler und Warnungen
Wie man die Zugänglichkeit einer Website überprüft
Die Überprüfung einer Website auf Barrierefreiheit bedeutet, dass sichergestellt werden muss, dass jeder, auch Menschen mit Behinderungen, Ihre Website oder App nutzen können. Dazu müssen Ihre Inhalte anhand von Richtlinien wie WCAG geprüft werden, die beschreiben, wie digitale Erlebnisse integrativer gestaltet werden können. Mit Aspose.HTML for Java können Sie diesen Prozess automatisieren, indem Sie HTML und CSS auf Zugänglichkeitsprobleme prüfen – entweder anhand der vollständigen WCAG-Standards oder indem Sie sich auf bestimmte Kriterien konzentrieren.
In diesem Artikel erfahren Sie, wie Sie die Zugänglichkeit von Websites auf WCAG-Konformität prüfen können, indem Sie die Klassen und Methoden aus den Paketen com.aspose.html.accessibility und com.aspose.html.accessibility.results verwenden. Wir werden verschiedene Klassen und Schnittstellen untersuchen, die bei der Sammlung von Fehler- und Warninformationen während der Überprüfung der Barrierefreiheit einer Website helfen. Besonderes Augenmerk wird auf die Fehlerkriterien und -methoden für die Meldung von Fehlern gelegt, zusammen mit einem Java-Beispiel, das zeigt, wie man nach der Validierung eines HTML-Dokuments Fehler bei der Barrierefreiheit abrufen kann.
Sehen wir uns ein Codefragment zur Validierung der Barrierefreiheit im Web an. Der folgende Code prüft die Zugänglichkeit einer entfernten HTML-Seite anhand aller WCAG-Validierungsregeln und gibt Details zu allen Regeln aus, die nicht erfolgreich erfüllt wurden:
- Verwenden Sie den Konstruktor WebAccessibility(), um eine Instanz der Klasse WebAccessibility zu erstellen, die für die Validierung der Barrierefreiheit im Web zuständig ist.
- Rufen Sie die Methode createValidator() auf, um ein Validator-Objekt zu erstellen.
- Laden Sie eine HTML-Seite mit dem Konstruktor
HTMLDocument(
Url
). - Verwenden Sie die Methode
validate(
document
), um die Webseite auf Barrierefreiheit zu prüfen. Das Ergebnis wird in der VariablenvalidationResult
gespeichert. - Prüfen Sie, ob die Validierung erfolgreich war. Drucken Sie für jedes Zugänglichkeitsproblem Informationen über den Regelcode, die Regelbeschreibung und ob die Validierung erfolgreich war oder nicht.
1// Initialize webAccessibility container
2WebAccessibility webAccessibility = new WebAccessibility();
3
4// Create an accessibility validator with static instance
5// for all rules from repository that match the builder settings
6AccessibilityValidator validator = webAccessibility.createValidator(ValidationBuilder.getAll());
7
8// Initialize an HTMLDocument object
9final HTMLDocument document = new HTMLDocument("https://products.aspose.com/html/net/generators/video/");
10ValidationResult validationResult = validator.validate(document);
11
12// Checking for success
13if (!validationResult.getSuccess()) {
14 // Get a list of Details
15 for (RuleValidationResult detail : validationResult.getDetails()) {
16 System.out.println(String.format("%s: %s = %s",
17 detail.getRule().getCode(),
18 detail.getRule().getDescription(),
19 detail.getSuccess()
20 ));
21 }
22}
Fehler und Warnungen
Die Erkennung von Fehlern hilft bei der Identifizierung von Barrieren, die Menschen mit Behinderungen daran hindern können, Webinhalte effektiv zu nutzen und mit ihnen zu interagieren. Fehler und Warnungen geben Hinweise darauf, was zur Verbesserung der Barrierefreiheit im Web getan werden muss. Sie dienen Entwicklern und Designern als Wegweiser für notwendige Änderungen.
IError
Die IError ist eine öffentliche Schnittstelle, die Informationen über den Validierungsfehler enthält. Dies bedeutet eine fehlerhafte Prüfung, d. h. die Regel wurde nicht bestanden – und ihr Ergebnis entspricht nicht der Barrierefreiheit.
Die Schnittstelle
IError beschreibt die Einzelheiten eines Validierungsproblems, das bei Zugänglichkeitsprüfungen auftritt. Sie liefert Schlüsselinformationen über den Fehler, einschließlich einer von Menschen lesbaren Nachricht über getErrorMessage()
, den Ergebnisstatus mit getSuccess()
, und den Fehlertyp als numerischen Wert (getErrorType()
) und einen beschreibenden Namen (getErrorTypeName()
), wie Error oder Warning. Außerdem gibt getTarget()
das spezifische HTML- oder CSS-Element zurück, in dem das Problem aufgetreten ist, so dass Zugänglichkeitsprobleme genau identifiziert und korrigiert werden können. Diese Schnittstelle ist für die effektive Interpretation und Meldung von Zugänglichkeitsprüfergebnissen unerlässlich.
IError-Objekt hat solche Bedeutungen:
* ErrorType = 1 and Success = false – this means that the error is critical, and the result of the check is not performed.
* ErrorType = 2 and Success = true – this means that the error is not critical but has an informational character and displays hints for possible improvement.
Die Art des Fehlers wird durch die Art der Technik bestimmt:
- Wenn eine Technik ein erforderliches Erfolgskriterium nicht erfüllt und dieses Kriterium erforderlich ist, um sie zu erfüllen, wird das Ergebnis als kritischer Fehler markiert, was zu “ErrorType=1” und “Success=false” führt, und es ist ein Error.
- Ist eine Technik nicht unbedingt erforderlich oder handelt es sich eher um eine bewährte Praxis oder einen Verbesserungsvorschlag als um einen schwerwiegenden Verstoß gegen die Regeln, wird sie als “ErrorType=2” und “Success=true” gekennzeichnet und ist eine Warnung.
Target
Die Klasse
Target stellt ein bestimmtes HTML- oder CSS-Element dar, bei dem während der Validierung ein Fehler oder eine Warnung bezüglich der Barrierefreiheit festgestellt wurde. Sie bietet zwei Schlüsseleigenschaften: Item
, das das tatsächliche Objekt (z. B. ein HTML-Tag oder eine CSS-Regel) zurückgibt, das das Problem verursacht hat, und TargetType
, das bestimmt, ob die Quelle des Problems ein HTML-Element oder eine CSS-Komponente ist.
TargetTypes
Die Aufzählung TargetTypes definiert die möglichen Objekttypen in einem HTML-Dokument, bei denen ein Zugänglichkeitsfehler oder eine Warnung gefunden werden könnte. Sie hilft, die Ursache des Problems zu klassifizieren, so dass es leichter zu identifizieren und zu beheben ist. Die Aufzählung umfasst drei Werte:
Name | Value | Description |
---|---|---|
HTMLElement | 0 | The element containing the HTMLElement from a document: standard HTML elements such as <img> or <button> . |
CSSStyleRule | 1 | The element containing the CSSStyleRule from a document: specific CSS rules in stylesheets. |
CSSStyleSheet | 2 | The element containing the CSSStyleSheet from a document: entire CSS stylesheets. |
Diese Aufzählung funktioniert in Verbindung mit der Klasse Target
, um genau anzugeben, welche Art von Element das Validierungsergebnis verursacht hat.
Vollständigen Bericht über die Zugänglichkeit generieren
Schauen wir uns den Java-Code für die Iteration durch die Ergebnisse der Barrierefreiheitsprüfung an, wobei wir besonders auf die Fehlerkriterien und die Details der Methoden achten, die Fehler melden. Beispiel für das Abrufen von Fehlerdetails und Elementen eines HTML-Dokuments:
- Verwenden Sie die Klasse
RuleValidationResult und iterieren Sie durch die
ruleResult
-Objekte, die invalidationResult.getDetails()
enthalten sind. Diese repräsentieren verschiedene Zugänglichkeitskriterien. - Drucken Sie den Code und die Beschreibung des Kriteriums und ob es erfolgreich war oder nicht. Verwenden Sie dazu die Eigenschaften Code und Description der Schnittstelle IRule.
- Verwenden Sie die Methode getSuccess(), um die Kriterien zu überprüfen.
- Verwenden Sie die Objekte
ITechniqueResult –
ruleDetail
, die inruleResult.getErrors()
enthalten sind. Die ITechniqueResult-Objekte stellen einzelne Regelergebnisse für das Kriterium dar, das Fehler gemeldet hat. - Druckt die Informationen über die Methode, einschließlich des Methodencodes, des Erfolgsstatus und der Beschreibung.
- Verwenden Sie die Eigenschaft
IError, um das Objekt
error
ausruleDetail
zu erhalten. DasruleDetail
stellt ein spezifisches Problem der Zugänglichkeit dar, und daserror
-Objekt enthält Informationen über dieses Problem. - Verwenden Sie
getTarget(), um das mit dem Fehler verbundene Objekt
target
abzurufen. Dastarget
-Objekt stellt typischerweise das spezifische HTML-Element, die CSS-Regel oder einen anderen Inhalt dar, der den Zugänglichkeitsfehler ausgelöst hat. - Druckt Informationen über den Fehler. Sie umfassen den Fehlertyp
error.getErrorTypeName()
und die Fehlermeldungerror.getErrorMessage()
. - Verwenden Sie die Methode getTargetType() der Klasse Target, um den Typ des Zielobjekts zu überprüfen. Je nach Typ des Zielobjekts werden bestimmte Informationen extrahiert und auf der Konsole ausgegeben.
1// Initialize a webAccessibility container
2WebAccessibility webAccessibility = new WebAccessibility();
3
4// Create an accessibility validator with static instance
5// for all rules from repository that match the builder settings
6AccessibilityValidator validator = webAccessibility.createValidator(ValidationBuilder.getAll());
7
8String documentPath = "input.html";
9
10// Initialize an object of the HTMLDocument class
11final HTMLDocument document = new HTMLDocument(documentPath);
12ValidationResult validationResult = validator.validate(document);
13
14for (RuleValidationResult ruleResult : validationResult.getDetails()) {
15 // list only unsuccessful rule
16 if (!ruleResult.getSuccess()) {
17 // print the code and description of the rule
18 System.out.println(String.format("%s: %s = %s",
19 ruleResult.getRule().getCode(),
20 ruleResult.getRule().getDescription(),
21 ruleResult.getSuccess()
22 ));
23
24 // print the results of methods with errors
25 for (ITechniqueResult ruleDetail : ruleResult.getErrors()) {
26 // print the code and description of the method
27 StringBuilder str = new StringBuilder(String.format("\n{0}: {1} - {2}",
28 ruleDetail.getRule().getCode(),
29 ruleDetail.getSuccess(),
30 ruleDetail.getRule().getDescription()
31 ));
32 // get an error object
33 IError error = ruleDetail.getError();
34 // get a target object
35 Target target = error.getTarget();
36 // get error type and message
37 str.append(String.format("\n\n\t%s : %s",
38 error.getErrorTypeName(),
39 error.getErrorMessage()
40 ));
41
42 if (target != null) {
43 // Checking the type of the contained object for casting and working with it
44 if (target.getTargetType() == TargetTypes.CSSStyleRule) {
45 ICSSStyleRule cssRule = (ICSSStyleRule) target.getItem();
46 str.append(String.format("\n\n\t%s",
47 cssRule.getCSSText()
48 ));
49 }
50 if (ruleDetail.getError().getTarget().getTargetType() == TargetTypes.CSSStyleSheet) {
51 str.append(String.format("\n\n\t%s",
52 ((ICSSStyleSheet) target.getItem()).getTitle()
53 ));
54 }
55 if (ruleDetail.getError().getTarget().getTargetType() == TargetTypes.HTMLElement) {
56 str.append(String.format("\n\n\t%s",
57 ((HTMLElement) target.getItem()).getOuterHTML()
58 ));
59 }
60 }
61 System.out.println(str);
62 }
63 }
64}
Für jedes fehlgeschlagene Kriterium listet der Code Regelbeschreibungen, fehlgeschlagene Methoden und Fehlermeldungen auf und hebt das genaue HTML- oder CSS-Element hervor, in dem das Problem gefunden wurde. Dieser Ansatz ist ideal, um einen vollständigen und genauen Bericht über die Barrierefreiheit zu erstellen, der den Fehlerkontext und technische Diagnosen für Entwickler enthält.
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.
- Wenn Sie wissen möchten, wie Sie Validierungsergebnisse anzeigen und Probleme mit der Barrierefreiheit erkennen können, lesen Sie den Artikel
Validierungsergebnisse.
Aspose.HTML bietet einen kostenlosen Online- Farbkontraste Prüfer, um die Kontrastverhältnisse in Ihren Webdesigns zu überprüfen. Dieses Tool gibt Ihnen Rückmeldung darüber, ob Ihre Farbwahl den Zugänglichkeitsstandards entspricht.